public StCancelArgs(int timeout, StAlerter alerter, bool interruptible) {
            if (timeout < -1) {
                throw new ArgumentOutOfRangeException("timeout", timeout, "Wrong timeout value");
            }

            this = new StCancelArgs();
            Timeout = timeout;
            Alerter = alerter;
            Interruptible = interruptible;
        }
        public StCancelArgs(int timeout, StAlerter alerter, bool interruptible)
        {
            if (timeout < -1)
            {
                throw new ArgumentOutOfRangeException("timeout", timeout, "Wrong timeout value");
            }

            this          = new StCancelArgs();
            Timeout       = timeout;
            Alerter       = alerter;
            Interruptible = interruptible;
        }
 public StCancelArgs(TimeSpan timeout, StAlerter alerter) : this(timeout.Milliseconds, alerter, false)
 {
 }
 public StCancelArgs(int timeout, StAlerter alerter) : this(timeout, alerter, false)
 {
 }
 public StCancelArgs(StAlerter alerter) : this(-1, alerter, false)
 {
 }
 public StCancelArgs(StAlerter alerter, bool interruptible) : this(-1, alerter, interruptible)
 {
 }
 public StCancelArgs(StAlerter alerter, bool interruptible) : this(-1, alerter, interruptible) { }
 public StCancelArgs(TimeSpan timeout, StAlerter alerter) : this(timeout.Milliseconds, alerter, false) { }
 public StCancelArgs(int timeout, StAlerter alerter) : this(timeout, alerter, false) { }
 public StCancelArgs(StAlerter alerter) : this(-1, alerter, false) { }