@Override public void add(int index, O element) { if (element == null) { throw new NullPointerException(); } if (handler.canAdd(element)) { delegate.add(index, element); handler.added(element); } }
@Override public O set(int index, O element) { if (element == null) { throw new NullPointerException(); } O oldValue = delegate.set(index, element); if (oldValue != element) { handler.removed(oldValue); handler.added(element); } return oldValue; }