public DynamicClassLoader(ClassLoader parent,boolean enableDependencyCheck,boolean isRoot){
  super(NULL_URL_ARRAY,getInitParent(parent,isRoot));
  parent=getParent();
  _isEnableDependencyCheck=enableDependencyCheck;
  _dependencies.setCheckInterval(_globalDependencyCheckInterval);
  if (!CurrentTime.isTest()) {
    _dependencies.setAsync(true);
  }
  for (; parent != null; parent=parent.getParent()) {
    if (parent instanceof DynamicClassLoader) {
      DynamicClassLoader loader=(DynamicClassLoader)parent;
      loader.init();
      addPermissions(loader.getPermissions());
      _dependencies.add(loader);
      _dependencies.setCheckInterval(loader.getDependencyCheckInterval());
      break;
    }
  }
  if (System.getProperty("baratine.verbose.classpath") != null) {
    _isVerbose=true;
    int depth=0;
    while (parent != null) {
      depth++;
      parent=parent.getParent();
    }
    _verboseDepth=depth;
  }
 else   _isVerbose=false;
}

public DynamicClassLoader ( ClassLoader parent , boolean enableDependencyCheck , boolean isRoot ) { super ( NULL_URL_ARRAY , getInitParent ( parent , isRoot ) ) ; parent = getParent ( ) ; _isEnableDependencyCheck = enableDependencyCheck ; _dependencies . setCheckInterval ( _globalDependencyCheckInterval ) ; if ( ! CurrentTime . isTest ( ) ) { _dependencies . setAsync ( true ) ; } for ( ; parent != null ; parent = parent . getParent ( ) ) { if ( parent instanceof DynamicClassLoader ) { DynamicClassLoader loader = ( DynamicClassLoader ) parent ; loader . init ( ) ; addPermissions ( loader . getPermissions ( ) ) ; _dependencies . add ( loader ) ; _dependencies . setCheckInterval ( loader . getDependencyCheckInterval ( ) ) ; break ; } } if ( System . getProperty ( "baratine.verbose.classpath" ) != null ) { _isVerbose = true ; int depth = 0 ; while ( parent != null ) { depth ++ ; parent = parent . getParent ( ) ; } _verboseDepth = depth ; } else _isVerbose = false ; }
create a new class loader .
