Did you try using TreeSet? I thought we had done some tests and TreeSets were actually calling the compare method like it should...

Bruce


+    /**
+     * Only add the unique converters to the 'Converter set'
+     * @param set The set of unique converters
+     * @param converters List of potential converters
+     */
+    private void addUniqueConverters(Set set, Converter[] converters) {
+               for (int i = 0; i < converters.length; ++i) {
+               boolean uniqueConverter = true;
+           for (Iterator iter = set.iterator(); iter.hasNext();) {
+                       if ( iter.next().equals(converters[i])) {
+                               uniqueConverter = false;
+                               break;
+                       }
+               }
+               if (uniqueConverter) {
+                       set.add(converters[i]);
+               }
+       }
+    }
+