public void renameClass(@Nonnull Workspace workspace,
	                        @Nonnull WorkspaceResource resource,
	                        @Nonnull ClassBundle<? extends ClassInfo> bundle,
	                        @Nonnull ClassInfo info) {
		String originalName = info.getName();
		Consumer<String> renameTask = newName -> {
			// Create mapping for the class and any inner classes.
			IntermediateMappings mappings = new IntermediateMappings();
			mappings.addClass(originalName, newName);
			for (InnerClassInfo inner : info.getInnerClasses()) {
				if (inner.isExternalReference()) continue;
				String innerClassName = inner.getInnerClassName();
				mappings.addClass(innerClassName, newName + innerClassName.substring(originalName.length()));
			}

			// Apply the mappings.
			MappingApplier applier = mappingApplierService.inWorkspace(workspace);
			MappingResults results = applier.applyToPrimaryResource(mappings);
			results.apply();
		};
		new NamePopup(renameTask)
				.withInitialPathName(originalName)
				.forClassRename(bundle)
				.show();
	}
Prompts the user to rename the given class.

@param workspace
		Containing workspace.
@param resource
		Containing resource.
@param bundle
		Containing bundle.
@param info
		Class to rename.
recaf-ui/src/main/java/software/coley/recaf/services/navigation/Actions.java