Applied patch for FELIX-3075

git-svn-id: https://svn.apache.org/repos/asf/felix/trunk@1157032 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/ipojo/core/src/main/java/org/apache/felix/ipojo/handlers/providedservice/ProvidedService.java b/ipojo/core/src/main/java/org/apache/felix/ipojo/handlers/providedservice/ProvidedService.java
index dce476c..6476583 100644
--- a/ipojo/core/src/main/java/org/apache/felix/ipojo/handlers/providedservice/ProvidedService.java
+++ b/ipojo/core/src/main/java/org/apache/felix/ipojo/handlers/providedservice/ProvidedService.java
@@ -732,21 +732,13 @@
         public void setValue(Boolean value) {
             synchronized (ProvidedService.this) {
                 if (value.booleanValue() != m_value) {
+                    // If there is a change to the ServiceController value then
+                    // we will
+                    // need to modify the registrations.
                     m_value = value.booleanValue();
-                    if (m_value) {
-                        if (m_serviceRegistration == null) {
-                            registerService();
-                        }
-                        // Already registered.
-                    } else {
-                        // If we are still some specification valid, register those one
-                        if (getServiceSpecificationsToRegister().length != 0) {
-                            unregisterService();
-                            registerService();
-                        } else {
-                            // If not, then unregister all
-                            unregisterService();
-                        }
+                    unregisterService();
+                    if (getServiceSpecificationsToRegister().length != 0) {
+                        registerService();
                     }
                 }
             }