FELIX-53 Added a check to make sure the dependency that is stopped is actually a required dependency.

git-svn-id: https://svn.apache.org/repos/asf/incubator/felix/trunk@391633 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/org.apache.felix.dependencymanager/src/main/java/org/apache/felix/dependencymanager/ServiceImpl.java b/org.apache.felix.dependencymanager/src/main/java/org/apache/felix/dependencymanager/ServiceImpl.java
index 26a6a4f..943967e 100644
--- a/org.apache.felix.dependencymanager/src/main/java/org/apache/felix/dependencymanager/ServiceImpl.java
+++ b/org.apache.felix.dependencymanager/src/main/java/org/apache/felix/dependencymanager/ServiceImpl.java
@@ -112,9 +112,11 @@
             // if we're waiting for required dependencies, then
             // we only need to stop tracking the dependency if it
             // too is required; this might trigger a state change
-            dependency.stop(this);
-            if (allRequiredDependenciesAvailable()) {
-                activateService();
+            if (dependency.isRequired()) {
+                dependency.stop(this);
+                if (allRequiredDependenciesAvailable()) {
+                    activateService();
+                }
             }
         }
         return this;