code: @Override
      protected Class<?> loadClass( final String name, final boolean resolve )
          throws ClassNotFoundException
      {
          if( getParent() != null )
          {
              return super.loadClass( name, resolve );
          }
          final Class<?> classToLoad = findClass( name );
          if( resolve )
          {
              resolveClass( classToLoad );
          }
          return classToLoad;
      }
docs: If there is a parent class loader use the super implementation that will first use the parent and as a fallback
  it will call findClass(). In case there is no parent directy use findClass() as if we call the super
  implementation it will use the VMClassLoader, fact that should be avoided.
  
  @see ClassLoader#getResource(String)