public override void Foo(TestParm parm)
 {
     parm.WhoInvoked = Invoker.Son;
 }
 public virtual void Foo(TestParm parm)
 {
     parm.WhoInvoked = Invoker.Grandpa;
 }
 public override void Foo(TestParm parm)
 {
     parm.WhoInvoked = Invoker.Father;
 }
 public override void Foo(TestParm parm)
 {
     parm.WhoInvoked = Invoker.Son;
 }
 public override void Foo(TestParm parm)
 {
     parm.WhoInvoked = Invoker.Father;
 }
 public virtual void Foo(TestParm parm)
 {
     parm.WhoInvoked = Invoker.Grandpa;
 }