public void visitInnerClass(
      final String name, final String outerName, final String innerName, final int access) {
    buf.setLength(0);
    buf.append(tab).append("// access flags ");
    buf.append(access & ~Opcodes.ACC_SUPER).append('\n');
    buf.append(tab);
    appendAccess(access);
    buf.append("INNERCLASS ");
    appendDescriptor(INTERNAL_NAME, name);
    buf.append(' ');
    appendDescriptor(INTERNAL_NAME, outerName);
    buf.append(' ');
    appendDescriptor(INTERNAL_NAME, innerName);
    buf.append('\n');
    text.add(buf.toString());

    if (cv != null) {
      cv.visitInnerClass(name, outerName, innerName, access);
    }
  }