public IStreamedData ExecuteQueryModel(QueryModel queryModel, IQueryExecutor executor)
        {
            if (queryModel == null)
            {
                throw new ArgumentNullException("queryModel");
            }
            if (executor == null)
            {
                throw new ArgumentNullException("executor");
            }

            var result = executor.ExecuteSingle<LinqQueryRequest>(queryModel, false);

            // Pass the value of ReturnDefaultWhenEmpty into the resulting LinqQueryRequest
            result.ReturnDefaultWhenEmpty = ReturnDefaultWhenEmpty;

            return new LinqQueryRequestValue(result, this);
        }