public void visitInnerClass(final String name, final String outerName,
			final String innerName, final int access) {
		checkState();
		CheckMethodAdapter.checkInternalName(name, "class name");
		if (outerName != null) {
			CheckMethodAdapter.checkInternalName(outerName, "outer class name");
		}
		if (innerName != null) {
			CheckMethodAdapter.checkIdentifier(innerName, "inner class name");
		}
		checkAccess(access, Opcodes.ACC_PUBLIC + Opcodes.ACC_PRIVATE
				+ Opcodes.ACC_PROTECTED + Opcodes.ACC_STATIC
				+ Opcodes.ACC_FINAL + Opcodes.ACC_INTERFACE
				+ Opcodes.ACC_ABSTRACT + Opcodes.ACC_SYNTHETIC
				+ Opcodes.ACC_ANNOTATION + Opcodes.ACC_ENUM);
		cv.visitInnerClass(name, outerName, innerName, access);
	}