Wie kann ich Chuncks einer Datei mit java.util.stream verarbeiten?

Um mich mit der Stream-API vertraut zu machen, habe ich versucht, ein recht einfaches Muster zu codieren.

Problem Eine Textdatei mit nicht verschachtelten Textblöcken. Alle Blöcke werden durch Start- / Endmuster identifiziert (z. B.<start> und<stop>. Der Inhalt eines Blocks kann syntaktisch nicht vom Rauschen zwischen den Blöcken unterschieden werden. Daher ist es unmöglich, mit einfachen (staatenlosen) Lambdas zu arbeiten.

Ich konnte nur etwas Hässliches implementieren wie:
Files.lines(path).collect(new MySequentialParseAndProsessEachLineCollector<>());
Um ehrlich zu sein, das ist nicht was ich will.

Im auf der Suche nach einem Mapper so etwas wie:
Files.lines(path).map(MyMapAllLinesOfBlockToBuckets()).parallelStream().collect(new MyProcessOneBucketCollector<>());

ibt es eine gute Möglichkeit, Datenblöcke aus einem Java 8-Stream zu extrahiere scheint ein Skelett einer Lösung zu enthalten. Leider bin ich zu dumm, um das auf mein Problem zu übertragen. ; -)

Hinweise?