> first and foremost, I am suggesting developers to take advantage of Java 5.0 APIs in their own applications.
Yes, that is certainly a good thing to do, but not "whenever possible" as you said, but only if the gains outweigh the risks. E.g. util.concuurent.Locks are faster than synchronized blocks, but they bear the additional risk of forgetting to release it. And, as Goetz says in Java Concurrency in practice, perfomance is a moving target. While Locks used to be much faster than synchronized, in Java 6 the gap has nearly closed.