When there is a switch nested in a loop; i.e.
for (int i=0; i<str.length(); i++)
switch(str.charAt(i)) {
case 'a':
do_a();
break;
case 'b':
do_b();
break;
case 'c':
do_c();
break;
}
PMD issues a high priority AvoidBranchingStatementAsLastInLoop warning for each case statement, so the above switch would count as 3 last branching statements.
This will be fixed with the next release.