code: private void addTraceReturn() {
  
          InsnList il = this.mn.instructions;
  
          Iterator<AbstractInsnNode> it = il.iterator();
          while (it.hasNext()) {
              AbstractInsnNode abstractInsnNode = it.next();
  
              switch (abstractInsnNode.getOpcode()) {
                  case Opcodes.RETURN:
                      il.insertBefore(abstractInsnNode, getVoidReturnTraceInstructions());
                      break;
                  case Opcodes.IRETURN:
                  case Opcodes.LRETURN:
                  case Opcodes.FRETURN:
                  case Opcodes.ARETURN:
                  case Opcodes.DRETURN:
                      il.insertBefore(abstractInsnNode, getReturnTraceInstructions());
              }
          }
      }
docs: /*