public decimal GetExtraCharge(IPaymentCalculationsVisitor visitor)
 {
     return(visitor.CalculateExtraCharge(Amount));    // provide only required data
 }
 public decimal GetExtraCharge(IPaymentCalculationsVisitor visitor)
 {
     return(visitor.CalculateExtraCharge(this));
 }