void GetFirst(Iterator& a_it) {
     a_it.Init();
     Node* first = m_root;
     while (first) {
         if (first->IsInternalNode() && first->m_count > 1) {
             a_it.Push(first, 1); // Descend sibling branch later
         } else if (first->IsLeaf()) {
             if (first->m_count) {
                 a_it.Push(first, 0);
             }
             break;
         }
         first = first->m_branch[0].m_child;
     }
 }