CounterNode* CounterNode::nextInPreOrder(const CounterNode* stayWithin) const { if (CounterNode* next = m_firstChild) return next; return nextInPreOrderAfterChildren(stayWithin); }
static const CounterNode* nextInPreOrder(const CounterNode* node) { if (CounterNode* child = node->firstChild()) return child; return nextInPreOrderAfterChildren(node); }