baseClass.getMethodList().add(extMethod);
try {
InitAnalyzer initAnalyzer = new InitAnalyzer();
CodeEnhancer baseEnhancer = new CodeEnhancer(baseClass, baseMethod.getCode());
baseEnhancer.analyze(initAnalyzer);
int offset = initAnalyzer.getOffset();
byte []code = new byte[offset];
byte []oldCode = baseEnhancer.getCode();
System.arraycopy(oldCode, 0, code, 0, offset);
baseEnhancer.remove(0, offset);
baseEnhancer.update();
CodeEnhancer extEnhancer = new CodeEnhancer(baseClass, extMethod.getCode());
extEnhancer.add(0, code, 0, code.length);
ExtMethodAnalyzer extMethodAnalyzer
= new ExtMethodAnalyzer(baseClass, extMethod, offset);
extEnhancer.analyze(extMethodAnalyzer);
extEnhancer.update();
CodeAttribute baseCode = baseMethod.getCode();
CodeAttribute extCode = extMethod.getCode();
if (extCode.getMaxStack() < baseCode.getMaxStack())