public Long putClassLoader(ClassLoader classLoader){
  if (classLoader == null)   throw new IllegalArgumentException("Argument cannot be null - 'classLoader'.");
  Long previousId=_classLoaderToIdMap.get(classLoader);
  if (previousId != null)   return previousId;
synchronized (_lock) {
    previousId=_classLoaderToIdMap.get(classLoader);
    if (previousId != null)     return previousId;
    removeMarkers();
    long id=generateClassLoaderKey();
    if (_logger.isLoggable(Level.FINE))     _logger.fine("introducing new class loader to cache [" + ClassLoaderHelper.getClassLoaderLogName(classLoader) + "] to the class provider, class loader designated id is "+ id);
    _classLoaders.put(id,new ClassLoaderContext(classLoader,Represent.REGULAR));
    _classLoaderToIdMap.put(classLoader,id);
    return id;
  }
}

public Long putClassLoader ( ClassLoader classLoader ) { if ( classLoader == null ) throw new IllegalArgumentException ( "Argument cannot be null - 'classLoader'." ) ; Long previousId = _classLoaderToIdMap . get ( classLoader ) ; if ( previousId != null ) return previousId ; synchronized ( _lock ) { previousId = _classLoaderToIdMap . get ( classLoader ) ; if ( previousId != null ) return previousId ; removeMarkers ( ) ; long id = generateClassLoaderKey ( ) ; if ( _logger . isLoggable ( Level . FINE ) ) _logger . fine ( "introducing new class loader to cache [" + ClassLoaderHelper . getClassLoaderLogName ( classLoader ) + "] to the class provider, class loader designated id is " + id ) ; _classLoaders . put ( id , new ClassLoaderContext ( classLoader , Represent . REGULAR ) ) ; _classLoaderToIdMap . put ( classLoader , id ) ; return id ; } }
add new class loader to the cache , if the class loader is already present , the existing key will be returned
