public int IndexOf(object item) { SharpTreeNode node = item as SharpTreeNode; if (node != null && node.IsVisible && node.GetListRoot() == root) { if (includeRoot) { return(SharpTreeNode.GetVisibleIndexForNode(node)); } else { return(SharpTreeNode.GetVisibleIndexForNode(node) - 1); } } else { return(-1); } }