La respuesta de este ejercicio marca que es la C :
transacciones.stream()
.filter(t -> t.getValor() > 5000)
.peek(System.out::println)
.collect(Collectors.toSet()).stream()
.findFirst();
Sin embargo algo curioso es que despues del "Collector.toSet())" aparece un ".stream()"; para resolver mi duda le pedí a luri que me explicase el por que ese ".stream()" a lo cual en la explicación me dice que ese ".stream()" es una redundancia en el código, el cuál no debería estar ahí, sin embargo al pedir que me explique la respuesta y esta misma me dice que ese ".stream()" convierte el "set" en un nuevo stream y me gustaría que me resolviesen esa duda por favor por que ya no se si esta bien o mal, o si no es relevante :(