List<OfferItem> unavailableItems = new ArrayList<OfferItem>();
for (ReservationItem item : items) {
if (item.getProduct().isAvailabe()){
Discount discount = discountPolicy.applyDiscount(item.getProduct(), item.getQuantity(), item.getProduct().getPrice());
OfferItem offerItem = new OfferItem(item.getProduct().generateSnapshot(), item.getQuantity(), discount);
availabeItems.add(offerItem);
}
else {
OfferItem offerItem = new OfferItem(item.getProduct().generateSnapshot(), item.getQuantity());
unavailableItems.add(offerItem);
}
}