Вы также можете использовать Stream API, чтобы выполнить то, что вы хотите
public boolean findProductOptional(String productName) {
return orderItems
.stream()
.filter(Objects::nonNull)
.map(OrderItem::getProduct)
.filter(Objects::nonNull)
.anyMatch(product -> productName.equals(product.getProductName()));
}
Просто выполните потоковую передачу списка позиций заказа, сопоставьте его с продуктом и проверьте, существует ли продукт с указанным именем.