suggest changing this to

    DynamicTasks.queueIfPossible(...).orSubmitAsync().getUnchecked()
because `queue` is only valid within a *dynamic* task, whereas `submit` will work even in a basic task (provided it has an entity execution context).

we should also indicate on javadoc that it can only be run inside a task context, and callers should use `taskForSshMachineLocation` if they are not sure they are in a task context