docs: @Override
      public void visit(final int version, final int access, final String name,
              final String signature, final String superName,
              final String[] interfaces) {
          String simpleName;
          int n = name.lastIndexOf('/');
          if (n == -1) {
              simpleName = name;
          } else {
              text.add("package asm." + name.substring(0, n).replace('/', '.')
                      + ";\n");
              simpleName = name.substring(n + 1);
          }
          text.add("import java.util.*;\n");
          text.add("import com.github.drinkjava2.asm5_0_3.*;\n");
          text.add("public class " + simpleName + "Dump implements Opcodes {\n\n");
          text.add("public static byte[] dump () throws Exception {\n\n");
          text.add("ClassWriter cw = new ClassWriter(0);\n");
          text.add("FieldVisitor fv;\n");
          text.add("MethodVisitor mv;\n");
          text.add("AnnotationVisitor av0;\n\n");
  
          buf.setLength(0);
          buf.append("cw.visit(");
          switch (version) {
          case Opcodes.V1_1:
              buf.append("V1_1");
              break;
          case Opcodes.V1_2:
              buf.append("V1_2");
              break;
          case Opcodes.V1_3:
              buf.append("V1_3");
              break;
          case Opcodes.V1_4:
              buf.append("V1_4");
              break;
          case Opcodes.V1_5:
              buf.append("V1_5");
              break;
          case Opcodes.V1_6:
              buf.append("V1_6");
              break;
          case Opcodes.V1_7:
              buf.append("V1_7");
              break;
          default:
              buf.append(version);
              break;
          }
          buf.append(", ");
          appendAccess(access | ACCESS_CLASS);
          buf.append(", ");
          appendConstant(name);
          buf.append(", ");
          appendConstant(signature);
          buf.append(", ");
          appendConstant(superName);
          buf.append(", ");
          if (interfaces != null && interfaces.length > 0) {
              buf.append("new String[] {");
              for (int i = 0; i < interfaces.length; ++i) {
                  buf.append(i == 0 ? " " : ", ");
                  appendConstant(interfaces[i]);
              }
              buf.append(" }");
          } else {
              buf.append("null");
          }
          buf.append(");\n\n");
          text.add(buf.toString());
      }