Hello, This proposal is closely linked to Java 5 standard. When I started converting, RowKeySet was already in a parametrized form, that was public abstract class RowKeySet<E> extends AbstractSet<E>
However, this set is used internally throughout Trinidad, often assuming an Object key, like UIXCollection returns an Object from getRowKey method. So I suggest to change RowKeySet signature to public abstract class RowKeySet extends AbstractSet<Object> to reflect that fact as well as make the conversion to Java 5 standard a bit easier. The main difficulty currently is since the set's content is often manipulated internally, and this can be hellish when you don't know the content type since you have to abuse of the wildcard parameter because generic collections are not covariant (you cannot cast List<String> to List<Object> for example, as opposed to arrays, so in this case you cannot cast from RowKeySet<E> to RowKeySet<Object> among other things). I don't see any real disadvantage of forcing Object type on rowkeys personally, but maybe someone has another input concerning them? Regards, Simon Lessard Fujitsu Consulting
