Java partition list into fixed-size chunks

Java
import java.util.ArrayList;
import java.util.List;

public final class Chunks {
    public static <T> List<List<T>> of(List<T> items, int size) {
        if (size <= 0) throw new IllegalArgumentException("size must be > 0");
        List<List<T>> out = new ArrayList<>();
        for (int i = 0; i < items.size(); i += size) {
            out.add(new ArrayList<>(items.subList(i, Math.min(items.size(), i + size))));
        }
        return out;
    }
}