/** * Loads from the document state, aggressively removing obsolete values. */ private void load() { ObservableMutableDocument<? super E, E, ?> document = getDocument(); E value = DocHelper.getFirstChildElement(document, container); E nextValue; while (value != null) { nextValue = DocHelper.getNextSiblingElement(document, value); onElementAdded(value); value = nextValue; } }