@Override
  public void submit(final @NotNull ThrowableRunnable<?> command, final @NotNull RemoteOperationCallback callback) {
    execute(() -> {
      try {
        command.run();
      }
      catch (Throwable e) {
        LOG.info(e);
        @NlsSafe String message = Optional.ofNullable(e.getMessage()).orElseGet(() -> e.getClass().getName());
        callback.errorOccurred(message);
      }
    });
  }
@Override
  public void submit(final @NotNull ThrowableRunnable<?> command, final @NotNull RemoteOperationCallback callback)