@Nullable
	@Override
	public String getMappedClassName(@Nonnull String internalName) {
		String mapped = mappings.get(getClassKey(internalName));
		if (mapped == null) {
			if (workspace != null) {
				// Pull the actual outer class name from the class-info in the workspace if available.
				ClassPathNode classPath = workspace.findClass(internalName);
				if (classPath != null) {
					ClassInfo info = classPath.getValue();
					String name = info.getName();
					String outerName = info.getOuterClassName();
					if (outerName != null && outerName.length() < name.length()) {
						String inner = name.substring(outerName.length() + 1);
						String outerMapped = getMappedClassName(outerName);
						if (outerMapped != null) {
							mapped = outerMapped + "$" + inner;
						}
					}
				}
			} else if (isInner(internalName)) {
				// We don't have a workspace, so the best we can do is assume standard 'Outer$Inner' conventions.
				int split = internalName.lastIndexOf("$");
				String inner = internalName.substring(split + 1);
				String outer = internalName.substring(0, split);
				String outerMapped = getMappedClassName(outer);
				if (outerMapped != null) {
					mapped = outerMapped + "$" + inner;
				}
			}
		}
		return mapped;
	}
Adds all the entries in the given mappings to the current mappings.

@param mappings
		Intermediate mappings to add to the current mappings.
recaf-core/src/main/java/software/coley/recaf/services/mapping/MappingsAdapter.java