use Walker instead of direct Base::IteratorType