@Override
    public MethodVisitor visitMethod(
        int access, String name, String desc, String signature, String[] exceptions) {
      MethodVisitor mv = cv.visitMethod(access, name, desc, signature, exceptions);

      if ((mv != null) && "<init>".equals(name)) {
        ConstructorMethodAdapter aimv = new ConstructorMethodAdapter(mv, cl);
        LocalVariablesSorter lvs = new LocalVariablesSorter(access, desc, aimv);
        aimv.lvs = lvs;
        mv = lvs;
      }
      return mv;
    }
For each method in the class being instrumented, <code>visitMethod</code> is called and the
returned MethodVisitor is used to visit the method. Note that a new MethodVisitor is
constructed for each method.
src/main/java/com/google/monitoring/runtime/instrumentation/ConstructorInstrumenter.java