import java.util.*;
import java.util.stream.Collectors;List<String> rawTexts = Arrays.asList(" Product A ", " Product B", " ");
// Clean and filter empty items in one pipeline:
List<String> cleanTitles = rawTexts.stream()
.map(String::trim)
.filter(t -> !t.isEmpty())
.collect(Collectors.toList());
// Find first matching element safely with Optional:
Optional<String> match = cleanTitles.stream()
.filter(t -> t.contains("Product A"))
.findFirst();
if (match.isPresent()) {
System.out.println("Found target product: " + match.get());
}