code: public void onBindViewHolder(EfficientViewHolder<T> viewHolder, int position,
                                   EfficientAdapter<T> adapter) {
          T object = get(position);
          viewHolder.onBindView(object, position);
          viewHolder.setAdapter(adapter);
  
          setClickListenerOnView(viewHolder);
          setLongClickListenerOnView(viewHolder);
      }
docs: Called by the view to display the data at the specified position.
  
  <p>The default implementation of this method will call {@link EfficientViewHolder#onBindView(Object,
  int)}
  on the {@link EfficientViewHolder} and set the click listeners if necessary.</p>
  
  @param viewHolder The ViewHolder which should be updated to represent the contents of the
  item at the given position in the data set.
  @param position   The position of the item within the adapter's data set.
  @param adapter    The adapter source