/// <summary>
 /// Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
 /// </summary>
 public void Dispose()
 {
     _current = null;
     _globalCollection.Clear();
     _rootItems.Clear();
 }