Cómo procesar fragmentos de un archivo con java.util.stream

Para familiarizarme con la API de transmisión, intenté codificar un patrón bastante simple.

Problema:&nbsp;Tener un archivo de texto que contiene bloques de texto no anidados. Todos los bloques se identifican por patrones de inicio / fin (p. Ej.<start>&nbsp;y<stop>. El contenido de un bloque no se distingue sintácticamente del ruido entre los bloques. Por lo tanto, es imposible trabajar con lambdas simples (sin estado).

Solo pude implementar algo feo como:
Files.lines(path).collect(new MySequentialParseAndProsessEachLineCollector<>());
Para ser honesto, esto no es lo que quiero.

Estoy buscando un mapeador algo como:
Files.lines(path).map(MyMapAllLinesOfBlockToBuckets()).parallelStream().collect(new MyProcessOneBucketCollector<>());

¿hay una buena manera de extraer fragmentos de datos de una transmisión de Java 8&nbsp;parece contener un esqueleto de una solución. Desafortunadamente, soy demasiado terco para traducir eso a mi problema. ;-)

¿Alguna pista?