private CompletableFuture<?> invokeMethod(boolean prompt, RemoteMethod method,
			Map<String, Object> arguments) {
		Map<String, Object> chosenArgs;
		if (prompt) {
			chosenArgs = promptArgs(method, arguments);
		}
		else {
			chosenArgs = arguments;
		}
		return method.invokeAsync(chosenArgs).thenAccept(result -> {
			DebuggerConsoleService consoleService =
				tool.getService(DebuggerConsoleService.class);
			Class<?> retType = getSchemaContext().getSchema(method.retType()).getType();
			if (consoleService != null && retType != Void.class && retType != Object.class) {
				consoleService.log(null, method.name() + " returned " + result);
			}
		}).toCompletableFuture();
	}
TODO: RemoteMethod parameter descriptions should also use ValStr. This map conversion
stuff is getting onerous and hacky.
Ghidra/Debug/Debugger-rmi-trace/src/main/java/ghidra/app/plugin/core/debug/service/tracermi/TraceRmiTarget.java