public TransferContext(PurseContext baseContext, ITransfer transfer)
     : base(baseContext)
 {
     Transfer = transfer ?? throw new ArgumentNullException(nameof(transfer));
 }
 public PurseContext(PurseContext origin)
     : base(origin)
 {
     Account = origin.Account;
 }
 public OutgoingInvoiceContext(PurseContext baseContext, IOutgoingInvoice invoice)
     : base(baseContext)
 {
     Invoice = invoice ?? throw new ArgumentNullException(nameof(invoice));
 }