It's usually a good idea to introduce a default case in
every switch statement.
Even if the developer is sure that all currently
possible cases are covered, this should be expressed in
the default branch, e.g. by using an assertion. This
way the code is protected aginst later changes, e.g.
introduction of new types in an enumeration type.
As an example consider the type
int CAT = 0;
int DOG = 1;
In a switch statement over the animal type a default
should be introduced to make sure that later
introduction of BIRD = 2 won't go unnoticed.
This check should be configurable. If someone has a
better name than checkstyle.allow.missingSwitchDefault
please post it here.