getting Generics to work in Visitor