public IEnumerable <Product> Filter(IEnumerable <Product> items, Ispecification <Product> spec)
 {
     foreach (var p in items)
     {
         if (spec.IsSatisfied(p))
         {
             yield return(p);
         }
     }
 }
 public bool IsSatisfied(T t)
 {
     return(first.IsSatisfied(t) && second.IsSatisfied(t));
 }