Here's another (probably weak) use case for returning <T extends
AbstractCas> kinds of things:  If you have part of the code which
collects views and some of these views use one form of the AbstractCas
(e.g. CASImpl) and others use the JCas form, it would be nice to be able
to put these two uses into a collection (of AbstractCas) - which is the
kind of thing AbstractCas was trying to do, I believe.
I never really understood the reason why AbstractCas exists,
it only has a release method, but CAS and JCas have many methods in
common. Why are they not declared in AbstractCas ?

The way its now AbstractCas is nearly useless expect
for cas pooling or so.

What was the reason to not move up the common methods
when AbstractCas was introduced ?

Jörn

Reply via email to