F (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()); }