public boolean addItem(@IntRange(from=0) int position,@NonNull T item){
  if (item == null) {
    Log.e(TAG,"No items to add!");
    return false;
  }
  if (DEBUG)   Log.v(TAG,"addItem delegates addition to addItems!");
  List<T> items=new ArrayList<>(1);
  items.add(item);
  return addItems(position,items);
}

public boolean addItem ( @ IntRange ( from = 0 ) int position , @ NonNull T item ) { if ( item == null ) { Log . e ( TAG , "No items to add!" ) ; return false ; } if ( DEBUG ) Log . v ( TAG , "addItem delegates addition to addItems!" ) ; List < T > items = new ArrayList < > ( 1 ) ; items . add ( item ) ; return addItems ( position , items ) ; }
inserts the given item in the internal list at the specified position or adds the item at last position .
