code: public final void addHeaderView(@NonNull final View view, @Nullable final Object data,
                                      final boolean selectable) {
          Condition.INSTANCE.ensureNotNull(view, "The view may not be null");
          headers.add(new FullWidthItem(view, data, selectable));
          notifyDataSetChanged();
      }
docs: Adds a fixed view to appear at the top of the adapter view. If this method is called more
  than once, the views will appear in the order they were added.
  
  @param view
  The header view, which should be added, as an instance of the class {@link View}. The
  view may not be null
  @param data
  The data, which should be associated with the header view, as an instance of the
  class {@link Object}, or null, if no data should be associated with the view
  @param selectable
  True, if the header view should be selectable, false otherwise