This rule raises an issue when a private nested class is never used.
private
classes that are never used are dead code: unnecessary, inoperative code that should be removed. Cleaning out dead code
decreases the size of the maintained codebase, making it easier to understand the program and preventing bugs from being introduced.
public class TopLevel { private class Nested {...} // Noncompliant: Nested is never used }
public class TopLevel { void doSomething() { Nested a = new Nested(); ... } private class Nested {...} }