code: public final void start(final DispatchAsync dispatcher, final ModelNode operation, final Callback callback) {
          Command dispatchCmd = new Command() {
              @Override
              public void execute() {
                  dispatcher.execute(new DMRAction(operation), new AsyncCallback<DMRResponse>() {
                      @Override
                      public void onFailure(final Throwable caught) {
                          callback.onError(caught);
                      }
  
                      @Override
                      public void onSuccess(final DMRResponse result) {
                          // No action here: We're polling later on until the condition is satisfied
                          // or the timeout is reached.
                      }
                  });
              }
          };
          start(dispatchCmd, callback);
      }
docs: Executes a DMR operation and repeatedly calls {@code checker} until {@link #setConditionSatisfied(boolean)}
  was called with {@code true} or the timeout is reached.
  
  @param dispatcher the dispatcher
  @param operation  the DMR operation which should be executed
  @param callback   the final callback