@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);
            // > 9.x
            final InstrumentMethod handleMethodEditorBuilder = target.getDeclaredMethod("handle", "org.eclipse.jetty.server.HttpChannel");
            if (handleMethodEditorBuilder != null) {
                handleMethodEditorBuilder.addInterceptor(getStandardHostValveInvokeInterceptor(classLoader));
                return target.toBytecode();
            }
            // 8.0
            final InstrumentMethod jetty80HandleMethodEditorBuilder = target.getDeclaredMethod("handle", "org.eclipse.jetty.server.HttpConnection");
            if (jetty80HandleMethodEditorBuilder != null) {
                jetty80HandleMethodEditorBuilder.addInterceptor(Jetty80ServerHandleInterceptor.class);
                return target.toBytecode();
            }
            // 8.1, 8.2
            final InstrumentMethod jetty82HandleMethodEditorBuilder = target.getDeclaredMethod("handle", "org.eclipse.jetty.server.AbstractHttpConnection");
            if (jetty82HandleMethodEditorBuilder != null) {
                jetty82HandleMethodEditorBuilder.addInterceptor(Jetty8xServerHandleInterceptor.class);
                return target.toBytecode();
            }

            return target.toBytecode();
        }
@author Chaein Jung
@author jaehong.kim
agent-module/plugins/jetty/src/main/java/com/navercorp/pinpoint/plugin/jetty/JettyPlugin.java