// "Replace Stream API chain with loop" "true" import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.function.Function; import java.util.function.Predicate; import java.util.stream.Collectors; import java.util.stream.Stream; public class Test { // Mock Java 9 methods with inheritor interface MyStream extends Stream { MyStream flatMap(Function> mapper); MyStream takeWhile(Predicate predicate); MyStream dropWhile(Predicate predicate); static MyStream of(List list) { return null; } } public static void test(List data) { List xyz = new ArrayList<>(); boolean dropping = true; OUTER: for (String s : data) { for (String s1 : Arrays.asList(s, s + s)) { if (s1.isEmpty()) { break OUTER; } if (dropping) { if (s1.length() < 3) { continue; } dropping = false; } xyz.add(s1); } } System.out.println(xyz); } }