@Override
    public F set(final int index, final F obj) {
      if (index < 0) {
        throw new IndexOutOfBoundsException("Index: " + index + " Size: " + size());
      }
      final int adj = resync(index);
      if (adj == size) {
        throw new IndexOutOfBoundsException("Index: " + index + " Size: " + size());
      }
      final F ins = filter.filter(obj);
      if (ins != null) {
        final F oldc = filter.filter(ContentList.this.set(adj, ins));
        // optimize the backing....
        xdata = getDataModCount();
        return oldc;
      }
      throw new IllegalAddException("Filter won't allow index " +
                                    index + " to be set to " +
                                    (obj.getClass()).getName());
    }
@Override
    public F set(final int index, final F obj)