if (answer != null) return answer;
  public Method getMethod(String name, Class parameterTypes[]) throws NoSuchMethodException, SecurityException {    checkMemberAccess(Member.PUBLIC);    if (!type.isClassType()) throw new NoSuchMethodException(name + parameterTypes);    VM_Atom aName = VM_Atom.findUnicodeAtom(name);    if (aName == null || 	aName == VM_ClassLoader.StandardClassInitializerMethodName ||	aName == VM_ClassLoader.StandardObjectInitializerMethodName) {      // null means that we don't have such an atom; <init> and <clinit> are not methods.      throw new NoSuchMethodException(name + parameterTypes);    }    // TODO: This implementation doesn't match the 1.4 SPEC in several    //       ways. (1) multiple matching methods must pick most specific    //       return type. (2) Maybe we need to look at superclass's static methods?    VM_Method static_methods[] = type.getStaticMethods();    for (int i = 0; i < static_methods.length; i++) {      VM_Method meth = static_methods[i];      if (meth.getName() == aName && meth.isPublic() && 	  parametersMatch(meth.getParameterTypes(), parameterTypes)) {	return java.lang.reflect.JikesRVMSupport.createMethod(meth);      }    }    VM_Method virtual_methods[] = type.getVirtualMethods();    for (int i = 0; i < virtual_methods.length; i++) {      VM_Method meth = virtual_methods[i];      if (meth.getName() == aName && meth.isPublic() && 	  parametersMatch(meth.getParameterTypes(), parameterTypes)) {	return java.lang.reflect.JikesRVMSupport.createMethod(meth);      }    }    throw new NoSuchMethodException(name + parameterTypes);  }