int depth = 0;
for (N node : offsetList) {
if (node != null) {
T textNode = substrate.asText(node);
if (textNode != null) {
b.characters(substrate.getData(textNode));
} else {
E elementNode = substrate.asElement(node);
b.elementStart(substrate.getTagName(elementNode),
new AttributesImpl(substrate.getAttributes(elementNode)));
depth++;