public void OnConfirmedOrderReceived(string orderId, DateTime ts, int minOrdersToSwitchFlag, out bool confirmationFlagSwitched)
        {
            if (minOrdersToSwitchFlag <= 0)
            {
                throw new ArgumentException("Should be positive", nameof(minOrdersToSwitchFlag));
            }
            confirmationFlagSwitched = false;

            if (!ConfirmedOrders.ContainsKey(orderId))
            {
                ConfirmedOrders.Add(orderId, new OrderInfo
                {
                    OrderId   = orderId,
                    Timestamp = ts
                });

                if (ShouldShowComplexityWarning && ConfirmedOrders.Count == minOrdersToSwitchFlag)
                {
                    confirmationFlagSwitched    = true;
                    ShouldShowComplexityWarning = false;
                    SwitchedToFalseAt           = ts;
                }
            }
        }
 public void ResetConfirmation()
 {
     ShouldShowComplexityWarning = true;
     SwitchedToFalseAt           = null;
     ConfirmedOrders.Clear();
 }