visitor: do not revisit visited objects