not sure what the "?" is -- I'd expect "VisitorPattern"