bugfix: clean up effectiveInjectionManager and move cleanup into finally block
diff --git a/ext/cdi/jersey-cdi1x/src/main/java/org/glassfish/jersey/ext/cdi1x/internal/CdiComponentProvider.java b/ext/cdi/jersey-cdi1x/src/main/java/org/glassfish/jersey/ext/cdi1x/internal/CdiComponentProvider.java
index c29b370..642a83a 100644
--- a/ext/cdi/jersey-cdi1x/src/main/java/org/glassfish/jersey/ext/cdi1x/internal/CdiComponentProvider.java
+++ b/ext/cdi/jersey-cdi1x/src/main/java/org/glassfish/jersey/ext/cdi1x/internal/CdiComponentProvider.java
@@ -685,13 +685,16 @@
                 threadInjectionManagers.set(injectingManager);
             }
 
-            delegate.inject(t, cc); // here the injection manager is used in HK2Bean
+            try {
+                delegate.inject(t, cc); // here the injection manager is used in HK2Bean
 
-            if (injectingManager != null) {
-                injectingManager.inject(t, CdiComponentProvider.CDI_CLASS_ANALYZER);
+                if (injectingManager != null) {
+                    injectingManager.inject(t, CdiComponentProvider.CDI_CLASS_ANALYZER);
+                }
+            } finally {
+                threadInjectionManagers.remove();
+                effectiveInjectionManager.remove();
             }
-
-            threadInjectionManagers.remove();
         }
 
         @Override