if (failOnNewLoad) { throw new RuntimeException( "Cannot load a new class when failOnNewLoad is set (" + name + ")"); }
    public VmType loadClass(String name, boolean resolve)            throws ClassNotFoundException, PrivilegedActionPragma {        // Also implement the java.lang.ClassLoader principals here        // otherwise they cannot work in java.lang.ClassLoader.        if ((parent != null) && !parent.skipParentLoader(name)) {            try {                final Class cls = parent.loadClass(name);                return cls.getVmClass();            } catch (ClassNotFoundException ex) {                // Don't care, try it ourselves.            }        }        VmType cls = findLoadedClass(name);        if (cls != null) { return cls; }        if (classInfos == null) {        //Unsafe.debug("classInfos==null");        throw new ClassNotFoundException(name); }        //BootLog.debug("load class" + name);        if (name.indexOf('/') >= 0) { throw new IllegalArgumentException(                "name contains '/'"); }        final ClassInfo ci = getClassInfo(name, true);        if (!ci.isLoaded()) {            try {                if (failOnNewLoad) { throw new RuntimeException(                        "Cannot load a new class when failOnNewLoad is set ("                                + name + ")"); }                if (name.charAt(0) == '[') {                    ci.setVmClass(loadArrayClass(name, resolve));                } else {                    ci.setVmClass(loadNormalClass(name));                }            } catch (ClassNotFoundException ex) {                ci.setLoadError(ex.toString());                classInfos.remove(ci.getName());                throw new ClassNotFoundException(name, ex);            } catch (IOException ex) {                ci.setLoadError(ex.toString());                classInfos.remove(ci.getName());                throw new ClassNotFoundException(name, ex);            }            if (resolve) {                ci.getVmClass().link();            }        }        return ci.getVmClass();    }