News

You cannot prevent other developers from extending certain classes. A method might accept a specific type and its subclasses, but you want to restrict usage to a select few implementations of your own ...
These boundary-layer classes are loaded with accessor methods simply because the designers have no choice. In fact, this not-knowing-how-it-will-be-used problem infuses all Java packages.