#pragma warning disable IDE0079 // Remove unnecessary suppression.
#pragma warning disable CA1062  // Omitted null checks. (Similar to expression tree visitor implementation pattern.)

        /// <summary>
        /// Accepts the query expression tree node in the specified visitor.
        /// </summary>
        /// <typeparam name="TQueryTree">Target type for query expressions.</typeparam>
        /// <typeparam name="TMonadMember">Target type for monad member query expressions. This type has to derive from TQueryTree.</typeparam>
        /// <typeparam name="TQueryOperator">Target type for query operator query expressions. This type has to derive from TMonadMember.</typeparam>
        /// <param name="visitor">Visitor to process the current query expression tree node.</param>
        /// <returns>Result of visiting the node.</returns>
        protected internal override TQueryTree Accept <TQueryTree, TMonadMember, TQueryOperator>(QueryVisitor <TQueryTree, TMonadMember, TQueryOperator> visitor)
        {
            return(visitor.VisitFirst(this));
        }