public override int GetHashCode() { return(grouping == null?query.GetHashCode() : (query.GetHashCode() + 1) * grouping.GetHashCode()); }