@TraceMethod(display = "Invoke method (no args)")
	public void execute_on_instance(
			@Param(
				schema = "ObjectReference",
				description = "Object Reference",
				display = "Object",
				name = "object") RmiTraceObject obj,
			@Param(
				description = "Thread Name",
				display = "ThreadName",
				name = "thread_name") String threadName,
			@Param(
				description = "Method Name",
				display = "MethodName",
				name = "method_name") String methodName) {
		VirtualMachine vm = connector.getJdi().getCurrentVM();
		ObjectReference ref = (ObjectReference) getObjectFromPath(obj.getPath());
		List<Method> methods = ref.referenceType().methodsByName(methodName);
		if (methods.size() > 1) {
			Msg.warn(this, "Method " + methodName + " is not unique - using first variant");
		}
		for (ThreadReference thread : vm.allThreads()) {
			if (thread.name().equals(threadName)) {
				cmds.execute(ref, thread, methods.get(0), new ArrayList<Value>(), 0);
			}
		}
	}
NB: For the VirtualMachine, the step methods add requests for break-on-step for all threads.
These requests will remain pending until the VM is resumed.
Ghidra/Debug/Debugger-jpda/src/main/java/ghidra/dbg/jdi/rmi/jpda/JdiMethods.java