private void addHandlerInitializerMethod ( ClassFile proxyClassType , ClassMethod staticConstructor ) throws Exception { ClassMethod classMethod = proxyClassType . addMethod ( AccessFlag . PRIVATE , INIT_MH_METHOD_NAME , BytecodeUtils . VOID_CLASS_DESCRIPTOR , LJAVA_LANG_OBJECT ) ; final CodeAttribute b = classMethod . getCodeAttribute ( ) ; b . aload ( 0 ) ; StaticMethodInformation methodInfo = new StaticMethodInformation ( INIT_MH_METHOD_NAME , new Class [ ] { Object . class } , void . class , classMethod . getClassFile ( ) . getName ( ) ) ; invokeMethodHandler ( classMethod , methodInfo , false , DEFAULT_METHOD_RESOLVER , staticConstructor ) ; b . checkcast ( MethodHandler . class ) ; b . putfield ( classMethod . getClassFile ( ) . getName ( ) , METHOD_HANDLER_FIELD_NAME , DescriptorUtils . makeDescriptor ( MethodHandler . class ) ) ; b . returnInstruction ( ) ; BeanLogger . LOG . createdMethodHandlerInitializerForDecoratorProxy ( getBeanType ( ) ) ; }
calls _initMH on the method handler and then stores the result in the methodHandler field as then new methodHandler