private static Expression <Func <PackSchedule, CustomerWithProductSpecReturn> > SelectCustomerSpec() { var customer = CustomerProjectors.SelectProductSpec(); return(p => new[] { p.Customer }.Where(c => c != null).Select(c => customer.Invoke(c, p.ChileProductId)).FirstOrDefault()); }