Dai un'occhiata al javadoc per Collection # add
C'è tutta una serie di eccezioni non controllate menzionate:
Throws:
UnsupportedOperationException - add is not supported by this collection.
ClassCastException - class of the specified element prevents it from being added to this collection.
NullPointerException - if the specified element is null and this collection does not support null elements.
IllegalArgumentException - some aspect of this element prevents it from being added to this collection.
Se hai pazienza, ti consiglio di documentare accuratamente le possibili eccezioni generate dai tuoi metodi in questo modo. In un certo senso, è ancora più importante farlo per le eccezioni non controllate, poiché le eccezioni verificate sono in qualche modo auto-documentate (il compilatore forza il codice chiamante a riconoscerle).