docs: public void setController(@Nullable DraweeController draweeController) {
      boolean wasAttached = mIsControllerAttached;
      if (wasAttached) {
        detachController();
      }
  
      // Clear the old controller
      if (isControllerValid()) {
        mEventTracker.recordEvent(Event.ON_CLEAR_OLD_CONTROLLER);
        mController.setHierarchy(null);
      }
      mController = draweeController;
      if (mController != null) {
        mEventTracker.recordEvent(Event.ON_SET_CONTROLLER);
        mController.setHierarchy(mHierarchy);
      } else {
        mEventTracker.recordEvent(Event.ON_CLEAR_CONTROLLER);
      }
  
      if (wasAttached) {
        attachController();
      }
    }