Why is this an issue?
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.
Noncompliant code example
public class Foo
{
...
private class MyUnusedPrivateClass {...} // Noncompliant
}