private void indexChildren(E element) { OffsetList.Container<N> sentinel = offsetList.sentinel(); for (N child = substrate.getFirstChild(element); child != null; child = substrate.getNextSibling(child)) { E childElement = substrate.asElement(child); if (childElement != null) { indexElement(childElement); } else { T childText = substrate.asText(child); insertBefore(sentinel, childText, substrate.getLength(childText)); } } }