Durante a aula foi mostrado o seguinte código.
List<Curso> resultados = cursos.stream()
.filter(c -> c.getAlunos() > 100)
.collect(Collectors.toList());
Segundo a documentação da inteface Stream o método collect() deve receber como parâmetro um Collector. Mas o parâmetro que esta sendo passado pertence a classe Collectors que em nenhum momento implementa a interface Collector.
Porque collect() aceita Collectors, mesmo que esta classe não faça parte de uma ramificação de Collector?