code: public static void checkMgen(MethodGen mgen) {
  
      if (skipChecks) {
        return;
      }
  
      try {
        mgen.toString(); // ensure it can be formatted without exceptions
        mgen.getLineNumberTable(mgen.getConstantPool());
  
        InstructionList ilist = mgen.getInstructionList();
        if (ilist == null || ilist.getStart() == null) {
          return;
        }
        CodeExceptionGen[] exceptionHandlers = mgen.getExceptionHandlers();
        for (CodeExceptionGen gen : exceptionHandlers) {
          assert ilist.contains(gen.getStartPC())
              : "exception handler "
                  + gen
                  + " has been forgotten in "
                  + mgen.getClassName()
                  + "."
                  + mgen.getName();
        }
        MethodGen nmg = new MethodGen(mgen.getMethod(), mgen.getClassName(), mgen.getConstantPool());
        nmg.getLineNumberTable(mgen.getConstantPool());
      } catch (Throwable t) {
        Error e =
            new Error(
                String.format(
                    "failure while checking method %s.%s%n", mgen.getClassName(), mgen.getName()),
                t);
        e.printStackTrace();
        throw e;
      }
    }
docs: Checks the specified method for consistency.
  
  <p>Does nothing if {@link #skipChecks} is false.
  
  @param mgen the class to check