@Override
        public byte[] doInTransform(Instrumentor instrumentor, ClassLoader classLoader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws InstrumentException {
            final InstrumentClass target = instrumentor.getInstrumentClass(classLoader, className, classfileBuffer);
            // Add server metadata
            // Tomcat 6
            final InstrumentMethod initializeEditor = target.getDeclaredMethod("initialize");
            if (initializeEditor != null) {
                initializeEditor.addInterceptor(ConnectorInitializeInterceptor.class);
            }

            // Tomcat 7
            final InstrumentMethod initInternalEditor = target.getDeclaredMethod("initInternal");
            if (initInternalEditor != null) {
                initInternalEditor.addScopedInterceptor(ConnectorInitializeInterceptor.class, TomcatConstants.TOMCAT_SERVLET_ASYNC_SCOPE);
            }
            return target.toBytecode();
        }
@author Jongho Moon
@author jaehong.kim
agent-module/plugins/tomcat/src/main/java/com/navercorp/pinpoint/plugin/tomcat/TomcatPlugin.java