docs: public static void printOpCode(Instruction ins, ConstantPoolGen cpg) {
  
          if (ins instanceof InvokeInstruction) {
              InvokeInstruction invokeIns = (InvokeInstruction) ins;
              System.out.println(formatName(ins) + " " + invokeIns.getClassName(cpg).replaceAll("\\.", "/") + "." + invokeIns.getMethodName(cpg) + invokeIns.getSignature(cpg));
          } else if (ins instanceof LDC) {
              LDC i = (LDC) ins;
              System.out.println(formatName(ins) + " \""+i.getValue(cpg).toString()+"\"");
          } else if (ins instanceof NEW) {
              NEW i = (NEW) ins;
              ObjectType type = i.getLoadClassType(cpg);
              System.out.println(formatName(ins) + " " + type.toString());
          } else if (ins instanceof LoadInstruction) {
              LoadInstruction i = (LoadInstruction) ins;
              System.out.println(formatName(ins) +" "+i.getIndex() + " => [stack]");
          } else if (ins instanceof StoreInstruction) {
              StoreInstruction i = (StoreInstruction) ins;
              System.out.println(formatName(ins) +" (objectref) => "+i.getIndex() + "");
          } else if (ins instanceof FieldInstruction) {
              FieldInstruction i = (FieldInstruction) ins;
              System.out.println(formatName(ins) +" "+i.getFieldName(cpg) + "");
          }  else if (ins instanceof IfInstruction) {
              IfInstruction i = (IfInstruction) ins;
              System.out.println(formatName(ins) +" target => "+i.getTarget().toString()+ "");
          } else if (ins instanceof ICONST) {
              ICONST i = (ICONST) ins;
              System.out.println(formatName(ins) +" "+i.getValue()+" ("+i.getType(cpg)+")");
          } else if (ins instanceof GOTO) {
              GOTO i = (GOTO) ins;
              System.out.println(formatName(ins) +" target => "+i.getTarget().toString());
          } else {
              System.out.println(formatName(ins));
          }
      }