protected static void load(DumpNode parent, DumpNodeReader reader) { while (reader.hasNext()) { DumpNode child = reader.next(); if (parent._level == child._level - 1) { parent._children.add(child); } else if (parent._level == child._level - 2) { reader.goBack(); load(parent._children.get(parent._children.size() - 1), reader); } else { reader.goBack(); return; } } }