void (final Content obj) { checkConcurrent(); // always add before what would normally be returned by next(); final int next = forward ? cursor + 1 : cursor; filterlist.add(next, obj); expectedmod = getModCount(); canremove = canset = false; // a call to next() should be unaffected, so, whatever was going to // be next will still be next, remember, what was going to be next // has been shifted 'right' by our insert. // we ensure this by setting the cursor to next(), and making it // forward cursor = next; forward = true; }