docs: protected AbstractDraweeController buildController() {
      if (FrescoSystrace.isTracing()) {
        FrescoSystrace.beginSection("AbstractDraweeControllerBuilder#buildController");
      }
      AbstractDraweeController controller = obtainController();
      controller.setRetainImageOnFailure(getRetainImageOnFailure());
      controller.setContentDescription(getContentDescription());
      controller.setControllerViewportVisibilityListener(getControllerViewportVisibilityListener());
      maybeBuildAndSetRetryManager(controller);
      maybeAttachListeners(controller);
      if (FrescoSystrace.isTracing()) {
        FrescoSystrace.endSection();
      }
      return controller;
    }