public ComparableItemListImpl<Item> withComparator(@Nullable Comparator<Item> comparator) {
        return withComparator(comparator, true);
    }
public ComparableItemListImpl < Item > withComparator ( @ Nullable Comparator < Item > comparator ) { return withComparator ( comparator , true ) ; }
define a comparator which will be used to sort the list "everytime" it is altered
NOTE this will only sort if you "set" a new list or "add" new items (not if you provide a position for the add function)

@param comparator used to sort the list
@return this