public abstract void VisitConcreteElementB(ConcreteElementB concreteElementB);
 public override void VisitConcreteElementB(ConcreteElementB concreteElementB)
 {
     Console.WriteLine("{0} visited by {1}", concreteElementB.GetType().Name, this.GetType().Name);
 }