public ClassLoader buildClassLoader(ClassLoader serviceLoader){
synchronized (_loaderMap) {
    SoftReference<ClassLoader> extLoaderRef=_loaderMap.get(serviceLoader);
    if (extLoaderRef != null) {
      ClassLoader extLoader=extLoaderRef.get();
      if (extLoader != null) {
        return extLoader;
      }
    }
  }
  String parentId=EnvLoader.getEnvironmentName(serviceLoader);
  String id=_id + "!" + parentId;
  DynamicClassLoader extLoader=null;
  return extLoader;
}

public ClassLoader buildClassLoader ( ClassLoader serviceLoader ) { synchronized ( _loaderMap ) { SoftReference < ClassLoader > extLoaderRef = _loaderMap . get ( serviceLoader ) ; if ( extLoaderRef != null ) { ClassLoader extLoader = extLoaderRef . get ( ) ; if ( extLoader != null ) { return extLoader ; } } } String parentId = EnvLoader . getEnvironmentName ( serviceLoader ) ; String id = _id + "!" + parentId ; DynamicClassLoader extLoader = null ; return extLoader ; }
builds a combined class - loader with the target service loader as a parent , and this calling pod loader as a child .
