protected virtual void Dispose(bool disposing) { var disposable = _algorithm as IDisposable; if (disposing && disposable != null) { disposable.Dispose(); _algorithm = null; } }