private static void checkServerBindNames(Registry reg) throws RemoteException {

		String requiredVersion = GhidraServerHandle.MIN_GHIDRA_VERSION;
		if (!Application.getApplicationVersion().startsWith(requiredVersion)) {
			requiredVersion = requiredVersion + " - " + Application.getApplicationVersion();
		}

		String[] regList = reg.list();
		RemoteException exc = null;
		int badVerCount = 0;

		for (String name : regList) {
			if (name.equals(GhidraServerHandle.BIND_NAME)) {
				return; // found it
			}
			else if (name.startsWith(GhidraServerHandle.BIND_NAME_PREFIX)) {
				String version = name.substring(GhidraServerHandle.BIND_NAME_PREFIX.length());
				if (version.length() == 0) {
					version = "4.3.x (or older)";
				}
				exc = new RemoteException(
					"Incompatible Ghidra Server interface, detected interface version " + version +
						",\nthis client requires server version " + requiredVersion);
				++badVerCount;
			}
		}
		if (exc != null) {
			if (badVerCount == 1) {
				throw exc;
			}
			throw new RemoteException("Incompatible Ghidra Server interface, detected " +
				badVerCount + " incompatible server versions" +
				",\nthis client requires server version " + requiredVersion);
		}
		throw new RemoteException("Ghidra Server not found.");
	}
Initiate an SSLSocket connection in order to ensure that any neccesary client/server
certificate validation is performed.
@param server server to which connection should be verified.  For the Ghidra Server 
this should correspond to the RMI Registry port {@link GhidraServerHandle#DEFAULT_PORT}.
@param monitor connection task monitor
@return certificate chain of server
@throws IOException if connection failure occurs
@throws CancelledException if connection attempt is cancelled
Ghidra/Framework/FileSystem/src/main/java/ghidra/framework/client/ServerConnectTask.java