Extend API in terms of interfaces
I'm going to quote what one of the authors of JDistro wrote here: http://www.onjava.com/pub/a/onjava/2004/11/24/jdistro.html
Desnoix: Java has many flaws, but my main concern is about the APIs because it is what our software is built on. Most APIs use abstract classes (or even worse, concrete ones) instead of interfaces, preventing alternative implementations. And they can not be modified without breaking compatibility.
I believe he has a very good point. It is important to note that we can rewrite the current API in terms of interfaces without breaking backwards compatibility. The question is, will Sun consider this RFE?