@Override
	public void setCurrentIgnoringConditions(Workspace workspace) {
		Workspace currentWorkspace = current;
		if (currentWorkspace != null) {
			currentWorkspace.close();
			Unchecked.checkedForEach(closeListeners, listener -> listener.onWorkspaceClosed(currentWorkspace),
					(listener, t) -> logger.error("Exception thrown when closing workspace", t));
		}
		current = workspace;
		if (workspace != null) {
			defaultModificationListeners.forEach(workspace::addWorkspaceModificationListener);
			Unchecked.checkedForEach(openListeners, listener -> listener.onWorkspaceOpened(workspace),
					(listener, t) -> logger.error("Exception thrown by when opening workspace", t));
		}
	}
Basic workspace manager implementation.

@author Matt Coley
recaf-core/src/main/java/software/coley/recaf/services/workspace/BasicWorkspaceManager.java