public Object setValue(Object newValue) { Object oldValue; if (iter != null && iter.isCurrentData(this)) { oldValue = getValue(); iter.set(newValue); } else { if (coll.view.dupsAllowed) { throw new IllegalStateException("May not insert duplicates"); } oldValue = coll.put(getKey(), newValue); } setValueInternal(newValue); return oldValue; }