protected override void OnOpen(TimeSpan timeout)
        {
            StreamUpgradeProvider upgrade = this.Upgrade;

            if (upgrade != null)
            {
                upgrade.Open(timeout);
            }
        }
        protected override void OnOpen(TimeSpan timeout)
        {
            TimeoutHelper timeoutHelper = new TimeoutHelper(timeout);

            base.OnOpen(timeoutHelper.RemainingTime());
            StreamUpgradeProvider upgrade = this.Upgrade;

            if (upgrade != null)
            {
                upgrade.Open(timeoutHelper.RemainingTime());
            }
        }