@Override
		public void visitInnerClass(String name, String outerName, String innerName, int access) {
			super.visitInnerClass(name, outerName, innerName, access);

			// Get the name of the class being visited
			String currentClassName = getName();

			// Add the inner data
			if (innerClasses == null)
				innerClasses = new ArrayList<>();
			innerClasses.add(new BasicInnerClassInfo(currentClassName, name, outerName, innerName, access));

			// If the local 'name' is the current class name, then we are visiting an inner class entry
			// that most likely is a representation of the current class. If this entry has data about
			// the outer class, we want to grab it.
			if (name.equals(currentClassName)) {
				// Only need to do this once, and some entries may not have data.
				// Because they can be in any order we need to protect against re-assigning null.
				if (getOuterClassName() == null &&
						outerName != null &&
						currentClassName.startsWith(outerName)) {
					withOuterClassName(outerName);
				}
			}
		}
Converts ASM visitor actions to 'with' actions in the class builder.
Results in a fully reconstructed class model.

@see FieldBuilderAdapter
@see MethodBuilderAdapter
recaf-core/src/main/java/software/coley/recaf/info/builder/JvmClassInfoBuilder.java