public void Dispose()
            {
                if (!_disposed)
                {
                    DateTime endTime = _timestampProvider.UtcNow();
                    _builder.SetRequestDuration(endTime - _startTime);

                    if (_context.Result is IReadOnlyQueryResult queryResult)
                    {
                        _context.Result = QueryResultBuilder.FromResult(queryResult)
                                          .AddExtension(_extensionKey, _builder.Build())
                                          .Create();
                    }
                    _disposed = true;
                }
            }