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