void dispose() {
		synchronized (fileSystem) {
			if (clientCheckTimerMonitor != null) {
				clientCheckTimerMonitor.cancel();
				clientCheckTimerMonitor = null;
			}

//			sendChangeEvent(new RepositoryChangeEvent(RepositoryChangeEvent.SERVER_SHUTDOWN_EVENT, null, null, null, null), true);

			RepositoryHandleImpl[] handles;
			synchronized (handleList) {
				handles = new RepositoryHandleImpl[handleList.size()];
				handleList.toArray(handles);
			}
			for (RepositoryHandleImpl handle : handles) {
				handle.dispose();
			}
		}
	}
Dispose server repository and all remote handles.
Method will block until all clients are notified
Ghidra/Features/GhidraServer/src/main/java/ghidra/server/Repository.java