public void add(T item) {
        if (item == null) {
            throw new NullPointerException();
        }
        Object[] workItems = items;
        if (next >= items.length) {
            workItems = Arrays.copyOf(workItems, 20 + items.length * 2);
            workItems[next++] = item;
            items = workItems;
        } else {
            workItems[next++] = item;
        }
    }
<p>Adds an item to this list. As opposed to <code>CopyOnWriteArrayList</code>, items added to this list may become
visible to iterators created <em>before</em> a call to this method.</p>

@param item the item to add
@throws NullPointerException if <code>item</code> is <code>null</code>
vespajlib/src/main/java/com/yahoo/yolean/concurrent/ThreadRobustList.java