Entry points where the world around your code can call it, for example, Junit tests, servlets, classes with the main method. IntelliJ tries to track code usage back to at least one entry point, so if one of your classes is an entry point and Intellij couldn’t detect it, more unused code will be reported than the actual one. (If class A uses code from class B but nobody uses class A, class B still has unused code). You can fix this by adding your class to the set of entry points.
source
share