/// <inheritdoc />
        public ITestContext StartStep(TestStep testStep)
        {
            if (testStep == null)
            {
                throw new ArgumentNullException("testStep");
            }

            ITestContext          parentContext = contextTracker.CurrentContext;
            ObservableTestContext context       = new ObservableTestContext(this, testStep, parentContext);

            context.InitializeAndStartStep();
            return(context);
        }
        /// <inheritdoc />
        public ITestContext StartStep(TestStep testStep)
        {
            if (testStep == null)
                throw new ArgumentNullException("testStep");

            ITestContext parentContext = contextTracker.CurrentContext;
            ObservableTestContext context = new ObservableTestContext(this, testStep, parentContext);
            context.InitializeAndStartStep();
            return context;
        }