protected virtual void Dispose(bool disposing) { if (!disposedValue) { if (disposing) { _consumer?.Unsubscribe(); _consumer?.Close(); _consumer?.Dispose(); _topicCreator?.Dispose(); } // TODO: free unmanaged resources (unmanaged objects) and override finalizer // TODO: set large fields to null disposedValue = true; } }