public static QueryableExecutionModel Build(Expression node, IBsonSerializerRegistry serializerRegistry)
        {
            var builder = new QueryableExecutionModelBuilder(serializerRegistry);
            builder.Visit(node);

            return (QueryableExecutionModel)Activator.CreateInstance(
                typeof(AggregateQueryableExecutionModel<>).MakeGenericType(builder._serializer.ValueType),
                builder._stages,
                builder._serializer);
        }
        public static QueryableExecutionModel Build(Expression node, IBsonSerializerRegistry serializerRegistry)
        {
            var builder = new QueryableExecutionModelBuilder(serializerRegistry);

            builder.Visit(node);

            return((QueryableExecutionModel)Activator.CreateInstance(
                       typeof(AggregateQueryableExecutionModel <>).MakeGenericType(builder._serializer.ValueType),
                       builder._stages,
                       builder._serializer));
        }