Como forçar max () para retornar TODOS os valores máximos em um Java Stream?

Eu testei um pouco a função max () no Java 8 lambdas e fluxos, e parece que no caso de max () ser executado, mesmo que mais de um objeto se compare a 0, ele retorna um elemento arbitrário dentro dos candidatos vinculados sem uma análise mais aprofundada.

Existe um truque ou função evidente para esse comportamento máximo esperado, para que todos os valores máximos sejam retornados? Não vejo nada na API, mas tenho certeza de que deve existir algo melhor do que comparar manualmente.

Por exemplo:

//myComparator is an IntegerComparator
Stream.of(1,3,5,3,2,3,5).max(myComparator).forEach(System.out::println);
//Would print 5,5 in any order.

questionAnswers(5)

yourAnswerToTheQuestion