code: public void exit(boolean withAnimation) {
          if (getRequestedId() == null) {
              throw new IllegalStateException("You should call enter(...) before calling exit(...)");
          }
  
          if (GestureDebug.isDebugAnimator()) {
              Log.d(TAG, "Exit requested from " + getRequestedId()
                      + ", with animation = " + withAnimation);
          }
  
          exitRequested = true;
          exitWithAnimation = withAnimation;
          exitIfRequested();
      }
docs: Plays exit animation, should only be called after corresponding call to
  {@link #enter(Object, boolean)}.
  
  @param withAnimation Whether to animate exiting or immediately jump to initial state
  @see #isLeaving()