Devi poter usare Stream/lambda (Java 8) oppure no? Chiaramente dovrai controllare il tipo degli oggetti, c'è solo una questione fine: vuoi testare che la classe dell'oggetto sia esattamente Tesista oppure che l'oggetto è-un Tesista (che considera pure l'ereditarietà)?
Ah, e se più laboratori hanno lo stesso massimo numero di tesisti?? Ti serve il primo/ultimo trovato o tutti?