Agrupar secuencias de valores

Me pregunto si hay alguna manera ingeniosa de usar las nuevas API de Stream para "agrupar" secuencias de valores.

p.ej. dividir una serie de enteros, en grupos de enteros donde cada grupo es una secuencia numérica ascendente:

IntStream seq = IntStream.of(1, 2, 3, -1, -1, 1, 2, 1, 2);
IntFunction next = i -> i + 1;

// DESIRED OUTPUT: [[1,2,3], [-1], [-1], [1,2], [1,2]]

Respuestas a la pregunta(3)

Su respuesta a la pregunta