wouldn't be better to make this class ```abstract``` to force the implementation of ```acceptVisitor()``` and ```perform()``` by the sub-classes?