code: public AdapterDelegatesManager<T> removeDelegate(@NonNull AdapterDelegate<T> delegate) {
  
          if (delegate == null) {
              throw new NullPointerException("AdapterDelegate is null");
          }
  
          int indexToRemove = delegates.indexOfValue(delegate);
  
          if (indexToRemove >= 0) {
              delegates.removeAt(indexToRemove);
          }
          return this;
      }
docs: Removes a previously registered delegate if and only if the passed delegate is registered
  (checks the reference of the object). This will not remove any other delegate for the same
  viewType (if there is any).
  
  @param delegate The delegate to remove
  @return self