This rule applies whenever an if statement is followed by one or more else if statements, the final else if shall be followed by an else if statement.
The requirement for a final else statement is defensive programming. The else statement should either take appropriate action or contain a suitable comment as to why no action is taken. This is consistent with the requirement to have a final default clause in a switch statement.
if (x == 0) {
doSomething();
} else if (x == 1) {
doSomethingElse();
}
if (x == 0) {
doSomething();
} else if (x == 1) {
doSomethingElse();
} else {
throw new IllegalStateException();
}