/// <summary>
 /// Perform deep copy
 /// </summary>
 /// <param name="cancelOrder"></param>
 /// <returns></returns>
 public OrderCancellation MemberWiseClone(OrderCancellation cancelOrder)
 {
     cancelOrder.OrderId      = new OrderId(OrderId.Id);
     cancelOrder.TraderId     = new TraderId(TraderId.Id);
     cancelOrder.CurrencyPair = this.CurrencyPair;
     return(cancelOrder);
 }
        public override bool Equals(object obj)
        {
            OrderCancellation cancelOrder = obj as OrderCancellation;

            if (cancelOrder == null)
            {
                return(false);
            }
            return(cancelOrder.OrderId.Id == this.OrderId.Id && cancelOrder.TraderId.Id == this.TraderId.Id && cancelOrder.CurrencyPair == CurrencyPair);
        }