FIX: seen but not traversed catalogs are also visited
first push references, than notify listeners
Refactor: DoTraverse()