public void RemoveRootNode(ContainerInfo rootNode)
{
if (!RootNodes.Contains(rootNode)) return;
rootNode.CollectionChanged -= RaiseCollectionChangedEvent;
rootNode.PropertyChanged -= RaisePropertyChangedEvent;
RootNodes.Remove(rootNode);
RaiseCollectionChangedEvent(this, new NotifyCollectionChangedEventArgs(NotifyCollectionChangedAction.Remove, rootNode));
}