* Remove elements that appear more than once. Keep order otherwise.
* @param list to be pruned
*/
- public static void unique(List<?> list) {
- int c = list.size();
- int i = c-1;
+ public static void unique(List<?> list) {
+ int i = list.size()-1;
while (i>0) {
Object o = list.get(i);
int index = list.indexOf(o);
- if (index>=0) {
+ if (index>=0 && index < i) {
list.remove(index);
- c--;
i--;
} else {
i--;