protected virtual void Dispose(bool disposing) { if (_isDisposed) { return; } if (disposing) { _dispatcher.Dispose(); foreach (var processor in _processors) { processor.Dispose(); } _metricService.Dispose(); } _isDisposed = true; }