Buggy code:
public abstract class AbstractRemoteServiceAdmin { private BundleContext context ; private boolean hostAutoCreateContainer = new Boolean ( System . getProperty ( "org.eclipse.ecf.osgi.services.remoteserviceadmin.hostAutoCreateContainer" , "true" ) ) . booleanValue ( ) ; private String [ ] hostDefaultConfigTypes = new String [ ] { System . getProperty ( "org.eclipse.ecf.osgi.services.remoteserviceadmin.hostDefaultConfigType" , "ecf.generic.server" ) } ; private boolean consumerAutoCreateContainer = new Boolean ( System . getProperty ( "org.eclipse.ecf.osgi.services.remoteserviceadmin.consumerAutoCreateContainer" , "true" ) ) . booleanValue ( ) ; private HostContainerSelector hostContainerSelector ; private ServiceRegistration defaultHostContainerSelectorRegistration ; private ServiceTracker hostContainerSelectorTracker ; private Object hostContainerSelectorTrackerLock = new Object ( ) ; private ConsumerContainerSelector consumerContainerSelector ; private ServiceRegistration defaultConsumerContainerSelectorRegistration ; private ServiceTracker consumerContainerSelectorTracker ; private Object consumerContainerSelectorTrackerLock = new Object ( ) ; public AbstractRemoteServiceAdmin ( BundleContext context ) { } protected BundleContext getContext ( ) { } public void setHostAutoCreateContainer ( boolean value ) { } public void setHostDefaultConfigTypes ( String [ ] configTypes ) { } public void setConsumerContainerSelector ( boolean value ) { } private void closeConsumerContainerSelector ( ) { } private void closeHostContainerSelector ( ) { } protected IHostContainerSelector getHostContainerSelector ( ) { } protected IConsumerContainerSelector getConsumerContainerSelector ( ) { } protected void logError ( String methodName , String message , IStatus status ) { } protected void trace ( String methodName , String message ) { } protected void logWarning ( String methodName , String message ) { } protected void logError ( String methodName , String message , Throwable t ) { } protected void logError ( String methodName , String message ) { } protected Object getService ( ServiceReference serviceReference ) { } protected Object getPropertyValue ( String propertyName , ServiceReference serviceReference , Map < String , Object > properties ) { } protected EndpointDescription createExportEndpointDescription ( ServiceReference serviceReference , Map < String , Object > overridingProperties , String [ ] exportedInterfaces , String [ ] serviceIntents , IRemoteServiceRegistration rsRegistration , IRemoteServiceContainer rsContainer ) { IContainer container = rsContainer . getContainer ( ) ; ID containerID = container . getID ( ) ; Map < String , Object > endpointDescriptionProperties = new TreeMap < String , Object > ( String . CASE_INSENSITIVE_ORDER ) ; endpointDescriptionProperties . put ( Constants . OBJECTCLASS , exportedInterfaces ) ; String endpointId = ( ( String ) ( getPropertyValue ( ENDPOINT_ID , serviceReference , overridingProperties ) ) ) ; if ( endpointId == null ) endpointId = containerID . getName ( ) ; endpointDescriptionProperties . put ( ENDPOINT_ID , endpointId ) ; Long serviceId = ( ( Long ) ( getPropertyValue ( Constants . SERVICE_ID , serviceReference , overridingProperties ) ) ) ; endpointDescriptionProperties . put ( Constants . SERVICE_ID , serviceId ) ; String frameworkId = Activator . getDefault ( ) . getFrameworkUUID ( ) ; endpointDescriptionProperties . put ( ENDPOINT_FRAMEWORK_UUID , frameworkId ) ; endpointDescriptionProperties . put ( SERVICE_IMPORTED_CONFIGS , ENDPOINT_SERVICE_IMPORTED_CONFIGS_VALUE ) ; if ( serviceIntents != null ) endpointDescriptionProperties . put ( SERVICE_INTENTS , serviceIntents ) ; String [ ] remoteIntentsSupported = getSupportedIntents ( container ) ; if ( remoteIntentsSupported != null ) endpointDescriptionProperties . put ( REMOTE_INTENTS_SUPPORTED , remoteIntentsSupported ) ; String [ ] remoteConfigsSupported = getSupportedConfigs ( container ) ; if ( remoteConfigsSupported != null ) endpointDescriptionProperties . put ( REMOTE_CONFIGS_SUPPORTED , remoteConfigsSupported ) ; Object connectTarget = getPropertyValue ( ENDPOINT_CONNECTTARGET_ID , serviceReference , overridingProperties ) ; ID connectTargetID = null ; if ( connectTarget != null ) { ID connectedID = rsContainer . getContainer ( ) . getConnectedID ( ) ; if ( ( connectedID != null ) && ( ! ( connectedID . equals ( containerID ) ) ) ) connectTargetID = connectedID ; } ID [ ] idFilter = ( ( ID [ ] ) ( getPropertyValue ( ENDPOINT_IDFILTER_IDS , serviceReference , overridingProperties ) ) ) ; String rsFilter = ( ( String ) ( getPropertyValue ( ENDPOINT_REMOTESERVICE_FILTER , serviceReference , overridingProperties ) ) ) ; PropertiesUtil . copyProperties ( rsRegistration , endpointDescriptionProperties ) ; endpointDescriptionProperties . remove ( OBJECTCLASS ) ; <START_BUG> return new EndpointDescription ( endpointDescriptionProperties , containerID . getNamespace ( ) . getName ( ) , connectTargetID , idFilter , rsFilter ) ; <END_BUG> } protected Map < String , Object > copyNonReservedProperties ( ServiceReference serviceReference , Map < String , Object > overridingProperties , Map < String , Object > target ) { } protected ContainerTypeDescription getContainerTypeDescription ( IContainer container ) { } protected String [ ] getSupportedConfigs ( IContainer container ) { } protected String [ ] getSupportedIntents ( IContainer container ) { } public void close ( ) { } }

Fix:
return new EndpointDescription ( serviceReference , endpointDescriptionProperties , containerID . getNamespace ( ) . getName ( ) , connectTargetID , idFilter , rsFilter ) ;