private static CollectionViewGroup GetCollectionViewGroupHelper(DataGridContext dataGridContext, ObservableCollection <GroupDescription> groupDescriptions, object item, int groupLevel)
        {
            if (item == null)
            {
                return(null);
            }

            int levelOfRecursion = groupDescriptions.Count - groupLevel - 1;

            CollectionViewGroup retval = dataGridContext.GetParentGroupFromItemCore(item, true);

            if (retval == null)
            {
                return(null);
            }

            for (int i = 0; i < levelOfRecursion; i++)
            {
                retval = dataGridContext.GetParentGroupFromItemCore(retval, true) as CollectionViewGroup;

                if (retval == null)
                {
                    return(null);
                }
            }

            return(retval);
        }
    private static CollectionViewGroup GetCollectionViewGroupHelper( DataGridContext dataGridContext, ObservableCollection<GroupDescription> groupDescriptions, object item, int groupLevel )
    {
      if( item == null )
        return null;

      int levelOfRecursion = groupDescriptions.Count - groupLevel - 1;

      CollectionViewGroup retval = dataGridContext.GetParentGroupFromItemCore( item, true );

      if( retval == null )
        return null;

      for( int i = 0; i < levelOfRecursion; i++ )
      {
        retval = dataGridContext.GetParentGroupFromItemCore( retval, true ) as CollectionViewGroup;

        if( retval == null )
          return null;
      }

      return retval;
    }