public override async Task <IQueryNode> AcceptAsync(IQueryNode node, IQueryVisitorContext context)
        {
            var rootResolver = context.GetRootAliasResolver();

            if (rootResolver != null)
            {
                if (node is GroupNode)
                {
                    node.SetAliasResolver(rootResolver);
                }
                else
                {
                    throw new InvalidOperationException("Node must be GroupNode.");
                }
            }

            await node.AcceptAsync(this, context).ConfigureAwait(false);

            return(node);
        }