ARIES-1958 let implicit extensions work even if no explicit extensions are required

Signed-off-by: Raymond Augé <rotty3000@apache.org>
diff --git a/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/container/ExtensionPhase.java b/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/container/ExtensionPhase.java
index bb96c21..68028ad 100644
--- a/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/container/ExtensionPhase.java
+++ b/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/container/ExtensionPhase.java
@@ -53,17 +53,8 @@
 	@Override
 	public boolean close() {
 		try (Syncro open = syncro.open()) {
-			if (!extensionTemplates().isEmpty()) {
-				if (_extensionTracker != null) {
-					_extensionTracker.close();
-
-					_extensionTracker = null;
-				}
-
-				return true;
-			}
-			else {
-				return next.map(
+			if (extensionTemplates().isEmpty()) {
+				next.map(
 					next -> {
 						submit(next.closeOp(), next::close).onFailure(
 							f -> {
@@ -77,6 +68,14 @@
 					}
 				).orElse(true);
 			}
+
+			if (_extensionTracker != null) {
+				_extensionTracker.close();
+
+				_extensionTracker = null;
+			}
+
+			return true;
 		}
 	}
 
@@ -93,29 +92,28 @@
 				return false;
 			}
 
-			if (!extensionTemplates().isEmpty()) {
-				_extensionTracker = new ServiceTracker<>(
-						containerState.bundleContext(), createExtensionFilter(), new ExtensionPhaseCustomizer());
+			_extensionTracker = new ServiceTracker<>(
+				containerState.bundleContext(), createExtensionFilter(), new ExtensionPhaseCustomizer());
 
-				_extensionTracker.open();
+			_extensionTracker.open();
 
-				return true;
+			if (extensionTemplates().isEmpty()) {
+				next.map(
+					next -> {
+						submit(next.openOp(), next::open).onFailure(
+							f -> {
+								_log.error(l -> l.error("CCR Error in extension OPEN on {}", bundle(), f));
+
+								error(f);
+							}
+						);
+
+						return true;
+					}
+				).orElse(true);
 			}
-			else {
-				return next.map(
-						next -> {
-							submit(next.openOp(), next::open).onFailure(
-									f -> {
-										_log.error(l -> l.error("CCR Error in extension OPEN on {}", bundle(), f));
 
-										error(f);
-									}
-									);
-
-							return true;
-						}
-						).orElse(true);
-			}
+			return true;
 		}
 	}