1 package com.irtimaled.bbor.client.gui;
4 import java.util.ListIterator;
5 import java.util.function.Consumer;
6 import java.util.function.Predicate;
7 import java.util.function.Supplier;
9 public class ListHelper {
10 public static <T> boolean findNextMatch(List<? extends T> list, int index, boolean forward, Predicate<T> match, Consumer<T> consumer) {
11 ListIterator<? extends T> iterator = list.listIterator(index);
12 Supplier<Boolean> hasMore = forward ? iterator::hasNext : iterator::hasPrevious;
13 Supplier<T> more = forward ? iterator::next : iterator::previous;
15 while (hasMore.get()) {
17 if (match.test(item)) {
18 consumer.accept(item);