diff --git a/microscoped-core/src/main/java/org/tomitribe/microscoped/core/Scope.java b/microscoped-core/src/main/java/org/tomitribe/microscoped/core/Scope.java index eebca4c..a18b023 100644 --- a/microscoped-core/src/main/java/org/tomitribe/microscoped/core/Scope.java +++ b/microscoped-core/src/main/java/org/tomitribe/microscoped/core/Scope.java @@ -43,7 +43,11 @@ public Key getKey() { * @return existing or newly created bean instance, never null */ public T get(final Contextual contextual, final CreationalContext creationalContext) { - return (T) instances.computeIfAbsent(contextual, c -> new Instance<>(contextual, creationalContext)).get(); + if (!instances.containsKey(contextual)) { + final Instance instance = new Instance<>(contextual, creationalContext); + instances.putIfAbsent(contextual, instance); + } + return (T) instances.get(contextual).get(); } /**