@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);
   }
 }