private bool disposedValue = false; // To detect redundant calls

        protected virtual void Dispose(bool disposing)
        {
            if (!disposedValue)
            {
                if (disposing)
                {
                    if (_iBinary != null)
                    {
                        _iBinary.Dispose();
                        _iBinary = null;
                    }
                }
                disposedValue = true;
            }
        }
 public void Cleanup()
 {
     _binaryTree.Dispose();
 }