ThreadJoinLoop
Thread.join needs to be surrounded by a loop until it succeeds, as in Uninterruptibles.joinUninterruptibly.

Severity
WARNING

The problem

Thread.join() can be interrupted, and so requires users to catch InterruptedException. Most users should be looping until the join() actually succeeds.

Suppression

Suppress false positives by adding the suppression annotation @SuppressWarnings("ThreadJoinLoop") to the enclosing element.