protected BCClass generateProxyMapBytecode(Class type, boolean runtime) {
assertNotFinal(type);
Project project = new Project();
BCClass bc = project.loadClass(getProxyClassName(type, runtime));
bc.setSuperclass(type);
bc.declareInterface(ProxyMap.class);
delegateConstructors(bc, type);
addProxyMethods(bc, false);
addProxyMapMethods(bc, type);
proxyRecognizedMethods(bc, type, ProxyMaps.class, ProxyMap.class);