Empty statements, i.e. ;, are usually introduced by mistake, for example because:
;;.
void doSomething() {
; // Noncompliant - was used as a kind of TODO marker
}
void doSomethingElse() {
System.out.println("Hello, world!");; // Noncompliant - double ;
...
}
void doSomething() {}
void doSomethingElse() {
System.out.println("Hello, world!");
...
for (int i = 0; i < 3; i++) ; // compliant if unique statement of a loop
...
}