@Override
    public List<Integer> next() {
        while (true) {
            while (c - a > 1) {
                a++;
                List<Integer> triplet = createTriplet();
                if (triplet != null) {
                    return triplet;
                }
            }
            a = 1;
            c++;
        }
    }