public synchronized void addRequestListener(RequestListener requestListener) {
    if (mRequestListeners == null) {
      mRequestListeners = new HashSet<>();
    }
    mRequestListeners.add(requestListener);
  }
Initializes this controller with the new data source supplier, id and caller context. This
allows for reusing of the existing controller instead of instantiating a new one. This method
should be called when the controller is in detached state.

@param dataSourceSupplier data source supplier
@param id unique id for this controller
@param callerContext tag and context for this controller
drawee-backends/drawee-pipeline/src/main/java/com/facebook/drawee/backends/pipeline/PipelineDraweeController.java