//this method is thread-safe
 private void AddChildrenNodesToTreeNode(ICollection <TreeNode> childrenNodes, bool clearChildrenCollection, bool onlyInsertNew)
 {
     SynchronizationManager.RunOnUIThread(new AddChildrenNodesToTreeNodeDelegate(AddChildrenNodesToTreeNodeInternal), childrenNodes, clearChildrenCollection, onlyInsertNew);
 }