public IList <ProductLine> FindByName(string productLineName, bool includeProducts)
        {
            var results = m_DataSource.From <ProductLine>(new { productLineName }).ToCollection().Execute();

            if (results.Count > 0 && includeProducts)
            {
                var children = m_DataSource.GetByColumnList <Product>("ProductLineKey",
                                                                      results.Select(pl => pl.ProductLineKey)).ToCollection().Execute();
                foreach (var line in results)
                {
                    line.Products.AddRange(children.Where(x => x.ProductLineKey == line.ProductLineKey));
                }
            }
            return(results);
        }