diff --git a/biz.aQute.bndlib/src/aQute/bnd/osgi/resource/DeferredValue.java b/biz.aQute.bndlib/src/aQute/bnd/osgi/resource/DeferredValue.java index 9ba943d5de..3fba737685 100644 --- a/biz.aQute.bndlib/src/aQute/bnd/osgi/resource/DeferredValue.java +++ b/biz.aQute.bndlib/src/aQute/bnd/osgi/resource/DeferredValue.java @@ -4,25 +4,22 @@ import java.util.function.Supplier; +import aQute.bnd.memoize.Memoize; + class DeferredValue implements Supplier { private final Class type; private final Supplier supplier; private final int hashCode; - private T value; DeferredValue(Class type, Supplier supplier, int hashCode) { this.type = requireNonNull(type); - this.supplier = requireNonNull(supplier); + this.supplier = Memoize.supplier(supplier); this.hashCode = hashCode; } @Override public T get() { - T v = value; - if (v == null) { - return value = supplier.get(); - } - return v; + return supplier.get(); } Class type() {