/** * @see java.util.Set#add(java.lang.Object) */ public boolean add(Object element) { boolean added = true; // PERF: If not instantiated just record the add to avoid the instantiation. if (shouldAvoidInstantiation()) { if (hasRemovedElements() && getRemovedElements().contains(element)) { getRemovedElements().remove(element); } else if (getAddedElements().contains(element)) { // Must avoid recursion for relationship maintenance. return false; } else { getAddedElements().add(element); } } else { added = getDelegate().add(element); } raiseAddChangeEvent(element); return added; }
/** * @see java.util.Set#add(java.lang.Object) */ @Override public boolean add(E element) { boolean added = true; // PERF: If not instantiated just record the add to avoid the instantiation. if (shouldAvoidInstantiation()) { if (hasRemovedElements() && getRemovedElements().contains(element)) { getRemovedElements().remove(element); } else if (isRelationshipMaintenanceRequired() && getAddedElements().contains(element)) { // Must avoid recursion for relationship maintenance. return false; } else { getAddedElements().add(element); } } else { added = getDelegate().add(element); } if (added) { raiseAddChangeEvent(element); } return added; }
/** * @see java.util.Set#add(java.lang.Object) */ @Override public boolean add(E element) { boolean added = true; // PERF: If not instantiated just record the add to avoid the instantiation. if (shouldAvoidInstantiation()) { if (hasRemovedElements() && getRemovedElements().contains(element)) { getRemovedElements().remove(element); } else if (isRelationshipMaintenanceRequired() && getAddedElements().contains(element)) { // Must avoid recursion for relationship maintenance. return false; } else { getAddedElements().add(element); } } else { added = getDelegate().add(element); } if (added) { raiseAddChangeEvent(element); } return added; }