@Nonnull
	private Mappings enrich(@Nonnull Mappings mappings) {
		// Map intermediate mappings to the adapter so that we can pass in the inheritance graph for better coverage
		// of cases inherited field/method references.
		if (mappings instanceof IntermediateMappings intermediateMappings) {
			// Mapping formats that export to intermediate should mark whether they support
			// differentiation of field and variable types.
			boolean fieldDifferentiation = mappings.doesSupportFieldTypeDifferentiation();
			boolean varDifferentiation = mappings.doesSupportVariableTypeDifferentiation();
			MappingsAdapter adapter = new MappingsAdapter(fieldDifferentiation, varDifferentiation);
			adapter.importIntermediate(intermediateMappings);
			mappings = adapter;
		}

		// Check if mappings can be enriched with type look-ups
		if (mappings instanceof MappingsAdapter adapter) {
			// If we have "Dog extends Animal" and both define "jump" this lets "Dog.jump()" see "Animal.jump()"
			// allowing mappings that aren't complete for their type hierarchies to be filled in.
			adapter.enableHierarchyLookup(inheritanceGraph);
		}

		return mappings;
	}
Applies the mapping operation to the current workspace's primary resource.

@param mappings
		The mappings to apply.

@return Result wrapper detailing affected classes from the mapping operation.
recaf-core/src/main/java/software/coley/recaf/services/mapping/MappingApplier.java