if (!java.lang.JikesRVMSupport.getTypeForClass(C).isClassType()) throw new NoSuchMethodException();
if (!type.isClassType()) throw new NoSuchMethodException();
  private static Method getMethod0(Class C, String name, Class[] parameterTypes, int which)    throws NoSuchMethodException {      if (!java.lang.JikesRVMSupport.getTypeForClass(C).isClassType()) throw new NoSuchMethodException();      VM_Method vm_virtual_methods[] = null;      VM_Method vm_other_methods[] = null;      if ( which == Member.PUBLIC ) {        vm_virtual_methods = java.lang.JikesRVMSupport.getTypeForClass(C).getVirtualMethods();        vm_other_methods = java.lang.JikesRVMSupport.getTypeForClass(C).getStaticMethods();      } else {        vm_virtual_methods = new VM_Method[0];        vm_other_methods = java.lang.JikesRVMSupport.getTypeForClass(C).asClass().getDeclaredMethods();       }      // TODO: Problem here with User flooding the atom dictionary if      // getMethod used too many times with different not existing names      // Solution: create a VM_Atom.findUnicodeAtom method.. to be done later.      // - Eugene      VM_Atom aName = VM_Atom.findOrCreateUnicodeAtom( name );      // TODO: I should use VM_Class.findVirtualMethod, findStaticMethod,      // findDeclaredMethod, but I need to create a      // "member descriptor" Atom from the array of parameter types...       // maybe later ...      // ( note if we create the string that represents that array,      // we need to worry about the flooding problem too just as above when      // getting the atom )      // - Eugene      for (int j = 0; j < vm_virtual_methods.length; j++)      {        VM_Method meth = vm_virtual_methods[j];        if (!meth.isObjectInitializer() &&            (meth.getName() == aName) &&            parametersMatch(meth.getParameterTypes(), parameterTypes))          return java.lang.reflect.JikesRVMSupport.createMethod(meth);      }      // TODO: Object initializers should not be returned by getStaticMethods      // - Eugene      for (int j = 0; j < vm_other_methods.length; j++) {        VM_Method meth = vm_other_methods[j];        if (!meth.isClassInitializer() && !meth.isObjectInitializer() &&            ( meth.getName() == aName ) &&            parametersMatch(meth.getParameterTypes(), parameterTypes))          return java.lang.reflect.JikesRVMSupport.createMethod(meth);      }      throw new NoSuchMethodException( name + parameterTypes );    }