mil.dod.th.ose.core/src/mil/dod/th/ose/core/factory/impl/FactoryServiceContextImpl.java
@Override
        public void removedService(final ServiceReference<ComponentFactory> reference, final ComponentFactory service)
        {
            final String productType = (String)reference.getProperty(ComponentConstants.COMPONENT_NAME);
            
            m_Logging.info("Unregistering factory for: %s", productType);
            
            final FactoryInternal factory = m_Factories.get(productType);
            
            //make unavailable via framework
            tryMakeFactoryUnavailable(factory);
            
            // allow proxy services to do clean up first
            tryProxyOnRemoveFactory(factory);
            
            //remove all associated factory objects
            tryRemoveAllFactoryObjects(factory);
            //unreg the rest of the services and other cleanup
            tryCleanupFactory(factory);
            
            //make unavailable to management services
            tryRemoveFactory(productType);
            
            //dispose of the factory instance
            tryDisposeFactory(productType);
            
            //remove reference to service
            tryUngetService(reference);
        }
/**
         * Unregister a factory as an OSGi service so other bundles that need the factory know it is no longer 
         * available.
         * 
         * @param service 
         *      The service object for the specified referenced service.
         * @param reference 
         *      The reference to the service that has been removed.
         */
Unregister a factory as an OSGi service so other bundles that need the factory know it is no longer
available.

@param service
The service object for the specified referenced service.
@param reference
The reference to the service that has been removed.
Unregister a factory as an OSGi service so other bundles that need the factory know it is no longer available . @param service The service object for the specified referenced service . @param reference The reference to the service that has been removed .
@Override
        public void removedService(final ServiceReference<ComponentFactory> reference, final ComponentFactory service)
        {
            final String productType = (String)reference.getProperty(ComponentConstants.COMPONENT_NAME);
            m_Logging.info("Unregistering factory for: %s", productType);
            final FactoryInternal factory = m_Factories.get(productType);
            tryMakeFactoryUnavailable(factory);
            tryProxyOnRemoveFactory(factory);
            tryRemoveAllFactoryObjects(factory);
            tryCleanupFactory(factory);
            tryRemoveFactory(productType);
            tryDisposeFactory(productType);
            tryUngetService(reference);
        }
@ Override public void removedService ( final ServiceReference < ComponentFactory > reference , final ComponentFactory service ) { final String productType = ( String ) reference . getProperty ( ComponentConstants . COMPONENT_NAME ) ; m_Logging . info ( "Unregistering factory for: %s" , productType ) ; final FactoryInternal factory = m_Factories . get ( productType ) ; tryMakeFactoryUnavailable ( factory ) ; tryProxyOnRemoveFactory ( factory ) ; tryRemoveAllFactoryObjects ( factory ) ; tryCleanupFactory ( factory ) ; tryRemoveFactory ( productType ) ; tryDisposeFactory ( productType ) ; tryUngetService ( reference ) ; }
Unregister a factory as an OSGi service so other bundles that need the factory know it is no longer
 available.
Unregister a factory as an OSGi service so other bundles that need the factory know it is no longer available .
//make unavailable via framework // allow proxy services to do clean up first //remove all associated factory objects //unreg the rest of the services and other cleanup //make unavailable to management services //dispose of the factory instance //remove reference to service