TECH: implement filtering support via visitor pattern, allowing for other visitors to do other things to the object model.