/** * Initializes the current value without firing events. */ private void maybeInitCurrentValue() { if (currentValue == null) { currentValue = (currentElement != null) ? valueFactory.adapt(getEventRouter(), currentElement) : null; } }
@Override public void onElementAdded(E element) { assert getDocument().getParentElement(element).equals(parent) : "Received event for unrelated element"; if (childTag.equals(getDocument().getTagName(element))) { T child = factory.adapt(router, element); T sibling = getPreviousKnownValue(element); orderedValues.add(sibling == null ? 0 : orderedValues.indexOf(sibling) + 1, child); elementToValue.put(element, child); valueToElement.put(child, element); fireElementAdded(child); } }