if (!isResolved()) { try { synchronized(VM_ClassLoader.lock) { load(); resolve(); } } catch (VM_ResolutionException e) { throw new NoClassDefFoundError(e.getException().toString()); } }
 public final Class getClassForType() {    //ensure that create() is not called during boot image writing    //since the jdk loads the wrong version of     //java.lang.Class (the one without create)    //This is only called for static synchronized methods and the Class     //object must    //be loaded at start up of the runtime.      //See VM.boot(). This test for runtime can be removed     //once the bootImageWriter has been rewritten to properly load classes.   if (classForType == null && VM.runningVM) {     synchronized(this) {       if (classForType == null) {	 classForType = Class.create(this);       }     }   }   return classForType;  }