I think those are unavoidable.
DelegatingResultSet, for example, is simply a wrapper around an arbitary
ResultSet object that delegates all calls to the wrapper instance. (This is
used as a base class when we want to add some additional behavior to a
couple of the calls, e.g., have the close() method return an object to the
pool.) As long as the deprecated methods exist in the API, I think it makes
sense for us to delegate those calls as well, for the same reasons that Sun
has only deprecated and not removed thos methods.