MethodStore.METHODS.put(new ClassIdentifier(classFile.getName(), getClassLoader()), methods);
//add the bytecode to load the cached fields in the static constructor
CodeAttribute ca = staticConstructor.getCodeAttribute();
ca.getstatic(MethodStore.class.getName(), "METHODS", "Ljava/util/Map;");
ca.newInstruction(ClassIdentifier.class);
ca.dup();
ca.ldc(classFile.getName());
ca.loadClass(classFile.getName());
ca.invokevirtual("java.lang.Class", "getClassLoader", "()Ljava/lang/ClassLoader;");
ca.invokespecial(ClassIdentifier.class.getName(), "<init>", "(Ljava/lang/String;Ljava/lang/ClassLoader;)V");