public void ScrollNodeIntoView(TreeGridNodeReference node)
        {
            DoRowLayoutUntilValid();

            var visibleRow = this.visibleRows.FirstOrDefault(r => r.NodeReference.Equals(node));

            if (visibleRow == null)
            {
                node.ExpandParents();

                int flatIndex;

                if (node.TryGetFlatIndex(out flatIndex))
                {
                    this.TopItemIndex = Math.Max(0, flatIndex - this.visibleRows.Count / 3);
                }
            }
        }