public T Accept <T>(IAmendmentVisitor <T> visitor)
 {
     return(visitor.Visit(this));
 }
 public T Accept <T, TContext>(IAmendmentVisitor <T, TContext> visitor, TContext context)
 {
     return(visitor.Visit(this, context));
 }
 public void Accept(IAmendmentVisitor visitor)
 {
     visitor.Visit(this);
 }