内部クラスのネストが深いとダメみたいなものがあるかもしれませんね。
パッケージ間でクラスの名前衝突に対して内部クラスで解決した結果なのです。

public class Web {
__public static class Loader {
____public interface Listener {
____}
__}
}