Почему это действительно?
Foo.java
public class Foo {
public Bar getBar() {
return new Bar();
}
private class Bar {}
}
Если Bar является приватным, как пользователи этого класса используют этот метод? Полиморфизм может быть использован, конечно, но не должно ли это быть недопустимым, и декларация должна указывать это как возвращение объекта?