Program: 94206
Project: 94206
Buggy source:
/** 
 * @since 3.0
 */
protected org.osgi.service.remoteserviceadmin.EndpointDescription decodeEndpointDescription(IServiceProperties discoveredServiceProperties){
  Map<String,Object> endpointDescriptionProperties=new TreeMap<String,Object>(String.CASE_INSENSITIVE_ORDER);
  decodeOSGiProperties(discoveredServiceProperties,endpointDescriptionProperties);
  Long remoteServiceId=decodeLong(discoveredServiceProperties,org.eclipse.ecf.remoteservice.Constants.SERVICE_ID);
  endpointDescriptionProperties.put(org.eclipse.ecf.remoteservice.Constants.SERVICE_ID,remoteServiceId);
  String containerIDNamespace=decodeString(discoveredServiceProperties,RemoteConstants.ENDPOINT_CONTAINER_ID_NAMESPACE);
  if (containerIDNamespace != null) {
    endpointDescriptionProperties.put(RemoteConstants.ENDPOINT_CONTAINER_ID_NAMESPACE,containerIDNamespace);
    String connectTargetIDName=decodeString(discoveredServiceProperties,RemoteConstants.ENDPOINT_CONNECTTARGET_ID);
    if (connectTargetIDName != null)     endpointDescriptionProperties.put(RemoteConstants.ENDPOINT_CONNECTTARGET_ID,connectTargetIDName);
    List<String> idFilterNames=decodeList(discoveredServiceProperties,RemoteConstants.ENDPOINT_IDFILTER_IDS);
    Object idFilterNamesval=PropertiesUtil.convertToStringPlusValue(idFilterNames);
    if (idFilterNamesval != null)     endpointDescriptionProperties.put(RemoteConstants.ENDPOINT_IDFILTER_IDS,idFilterNamesval);
    String remoteServiceFilter=decodeString(discoveredServiceProperties,RemoteConstants.ENDPOINT_REMOTESERVICE_FILTER);
    if (remoteServiceFilter != null)     endpointDescriptionProperties.put(RemoteConstants.ENDPOINT_REMOTESERVICE_FILTER,remoteServiceFilter);
  }
  decodeNonStandardServiceProperties(discoveredServiceProperties,endpointDescriptionProperties);
  return (containerIDNamespace == null) ? new org.osgi.service.remoteserviceadmin.EndpointDescription(endpointDescriptionProperties) : new EndpointDescription(endpointDescriptionProperties);
}

Fixed version (ground truth):
/** 
 * @since 3.0
 */
protected org.osgi.service.remoteserviceadmin.EndpointDescription decodeEndpointDescription(IServiceProperties discoveredServiceProperties){
  Map<String,Object> endpointDescriptionProperties=new TreeMap<String,Object>(String.CASE_INSENSITIVE_ORDER);
  decodeOSGiProperties(discoveredServiceProperties,endpointDescriptionProperties);
  String containerIDNamespace=decodeString(discoveredServiceProperties,RemoteConstants.ENDPOINT_CONTAINER_ID_NAMESPACE);
  if (containerIDNamespace != null) {
    Long remoteServiceId=decodeLong(discoveredServiceProperties,org.eclipse.ecf.remoteservice.Constants.SERVICE_ID);
    if (remoteServiceId != null)     endpointDescriptionProperties.put(org.eclipse.ecf.remoteservice.Constants.SERVICE_ID,remoteServiceId);
    endpointDescriptionProperties.put(RemoteConstants.ENDPOINT_CONTAINER_ID_NAMESPACE,containerIDNamespace);
    String ecfEndpointId=decodeString(discoveredServiceProperties,RemoteConstants.ENDPOINT_ID);
    if (ecfEndpointId != null)     endpointDescriptionProperties.put(RemoteConstants.ENDPOINT_ID,ecfEndpointId);
    Long timestamp=decodeLong(discoveredServiceProperties,RemoteConstants.ENDPOINT_TIMESTAMP);
    if (timestamp != null)     endpointDescriptionProperties.put(RemoteConstants.ENDPOINT_TIMESTAMP,timestamp);
    String connectTargetIDName=decodeString(discoveredServiceProperties,RemoteConstants.ENDPOINT_CONNECTTARGET_ID);
    if (connectTargetIDName != null)     endpointDescriptionProperties.put(RemoteConstants.ENDPOINT_CONNECTTARGET_ID,connectTargetIDName);
    List<String> idFilterNames=decodeList(discoveredServiceProperties,RemoteConstants.ENDPOINT_IDFILTER_IDS);
    Object idFilterNamesval=PropertiesUtil.convertToStringPlusValue(idFilterNames);
    if (idFilterNamesval != null)     endpointDescriptionProperties.put(RemoteConstants.ENDPOINT_IDFILTER_IDS,idFilterNamesval);
    String remoteServiceFilter=decodeString(discoveredServiceProperties,RemoteConstants.ENDPOINT_REMOTESERVICE_FILTER);
    if (remoteServiceFilter != null)     endpointDescriptionProperties.put(RemoteConstants.ENDPOINT_REMOTESERVICE_FILTER,remoteServiceFilter);
  }
  decodeNonStandardServiceProperties(discoveredServiceProperties,endpointDescriptionProperties);
  return (containerIDNamespace == null) ? new org.osgi.service.remoteserviceadmin.EndpointDescription(endpointDescriptionProperties) : new EndpointDescription(endpointDescriptionProperties);
}