code: @UiThread
      public void pushController(@NonNull RouterTransaction transaction) {
          ThreadUtils.ensureMainThread();
  
          RouterTransaction from = backstack.peek();
          pushToBackstack(transaction);
          performControllerChange(transaction, from, true);
      }
docs: Pushes a new {@link Controller} to the backstack
  
  @param transaction The transaction detailing what should be pushed, including the {@link Controller},
  and its push and pop {@link ControllerChangeHandler}, and its tag.