internal override void Visit(Ogre ogre)
 {
     BaseVisit(ogre);
     WriteLine("swung mace");
 }
 internal abstract void Visit(Ogre ogre);
 internal override void Visit(Ogre ogre)
 {
     Visit(ogre);
 }