MethodVisitor (final int access, final String name, final String desc, final String signature, final String[] exceptions) { if (name.equals(SETUP_METHOD_NAME) || name.equals(GET_ROOT_COMPONENT_METHOD_NAME) || name.equals(LOAD_BUTTON_TEXT_METHOD) || name.equals(LOAD_LABEL_TEXT_METHOD)) { return null; } if (name.equals(CREATE_COMPONENTS_METHOD_NAME) && desc.equals("()V")) { myHaveCreateComponentsMethod = true; myCreateComponentsAccess = access; } final MethodVisitor methodVisitor = super.visitMethod(access, name, desc, signature, exceptions); if (name.equals(CONSTRUCTOR_NAME) && !myExplicitSetupCall) { return new FormConstructorVisitor(methodVisitor, myClassName, mySuperName); } return methodVisitor != null? new FailSafeMethodVisitor(ASM_API_VERSION, methodVisitor) : null; }