public static <T> void forEachThis(Integer startIndex, Iterable<? extends T> elements,
BiConsumer<Integer, ? super T> action) {
Objects.requireNonNull(elements);
Objects.requireNonNull(action);
for (T element : elements) {
action.accept(startIndex++, element);
}
}
List<Product> specList = new ArrayList<>();
CollectionUtil.forEachThis(0, specList, ( i, spec) -> {
spec.setSorted(i);
});