关于java List<Map> 排序的问题

具体看一下代码,第一次调用该方法可以排序,但第二次调用的时候,他就根本没有调用里面的compare()这个方法了,排序还是执行的上次的那个,请问下这是什么问题?

 public static List<Map<String, Object>> sortList(final String sortOrder,final String sortName,List<Map<String, Object>> list) {
        if(StringUtils.isBlank(sortName)){
            return list;
        }
        Collections.sort(list, new Comparator<Map<String, Object>>() {
            public int compare(Map<String, Object> o1, Map<String, Object> o2) {
                if("desc".equals(sortOrder)){
                    //降序
                    return o2.get(sortName).toString().toUpperCase().compareTo(o1.get(sortName).toString().toUpperCase());
                }else{
                    //
                    return o1.get(sortName).toString().toUpperCase().compareTo(o2.get(sortName).toString().toUpperCase());
                }
            }
        });
        return list;
    }

调用的代码是怎么写的