Como processar chuncks de um arquivo com java.util.stream

Para me familiarizar com a API do stream, tentei codificar um padrão bastante simples.

Problema:&nbsp;Ter um arquivo de texto que não contém blocos de texto aninhados. Todos os blocos são identificados pelos padrões de início / fim (por exemplo,<start>&nbsp;e<stop>. O conteúdo de um bloco não é sintaticamente distinguível do ruído entre os blocos. Portanto, é impossível trabalhar com lambdas simples (sem estado).

Eu era capaz de implementar algo feio como:
Files.lines(path).collect(new MySequentialParseAndProsessEachLineCollector<>());
Para ser sincero, não é isso que eu quero.

Estou procurando um mapeador como:
Files.lines(path).map(MyMapAllLinesOfBlockToBuckets()).parallelStream().collect(new MyProcessOneBucketCollector<>());

existe uma boa maneira de extrair pedaços de dados de um fluxo java 8&nbsp;parece conter um esqueleto de uma solução. Infelizmente, eu sou muito duro para traduzir isso para o meu problema. ;-)

Alguma dica?