internal static PropertyRoute ToPropertyRoute(DataGridItemPropertyRoute itemProperty)
        {
            if (itemProperty == null)
            {
                return(null);
            }

            return(PropertyRoute.Combine(PropertyRouteBuilder.ToSegment(itemProperty.Current), PropertyRouteBuilder.ToPropertyRoute(itemProperty.Parent)));
        }
        internal void PushDescendant(DataGridItemPropertyBase itemProperty)
        {
            if (itemProperty == null)
            {
                throw new ArgumentNullException("itemProperty");
            }

            this.PushDescendant(PropertyRouteBuilder.ToSegment(itemProperty));
        }
        internal static PropertyRoute ToPropertyRoute(PropertyDescriptionRoute description)
        {
            if (description == null)
            {
                return(null);
            }

            return(PropertyRoute.Combine(PropertyRouteBuilder.ToSegment(description.Current), PropertyRouteBuilder.ToPropertyRoute(description.Parent)));
        }
        internal void PushDescendant(PropertyDescription description)
        {
            if (description == null)
            {
                throw new ArgumentNullException("description");
            }

            this.PushDescendant(PropertyRouteBuilder.ToSegment(description));
        }