// Step finalization for LLDB_EVAL engine.
                public void Finalize(LldbEvalErrorCode lldbEvalErrorCode)
                {
                    long endTicks = _timeSource.GetTimestampTicks();

                    if (_engine != ExpressionEvaluationEngine.LLDB_EVAL)
                    {
                        throw new ArgumentException(
                                  $"Engine {_engine} is incompatible with LldbEvalErrorCode (" +
                                  $"{lldbEvalErrorCode}). Check the parameters for the invoked method.");
                    }

                    if (_finalized)
                    {
                        throw new InvalidOperationException("Object is already finalized");
                    }

                    var batchParams = new ExpressionEvaluationStepBatchParams(
                        _engine, lldbEvalErrorCode,
                        _timeSource.GetDurationUs(_startTicks, endTicks));

                    _stepsRecorder.AddStep(batchParams);

                    _finalized = true;
                }
 protected internal void AddStep(ExpressionEvaluationStepBatchParams stepParams) =>
 _steps.Add(stepParams);