protected virtual void Dispose(bool disposing) { if (this.disposed) { return; } if (disposing) { if (engine != null) { engine.FinalizeEngine(); engine.Dispose(); } } this.disposed = true; }