Program: 1753
Project: 1753
Buggy source:
/** 
 * creates a indexes where each entry looks like: { "name" : "default", //the default index "categories" : [ { "category" : "admin", //name of the category "routes" : [ {"route" : "/" , "abstract" : "blah blah"} ] } ] } individual entries are created by the createIndexEntry method.
 * @param routes
 * @return
 */
public List<DynMap> createIndexes(List<DynMap> routes){
  DynMap indexes=new DynMap();
  for (  DynMap route : routes) {
    route.putIfAbsent("String_Node_Str","String_Node_Str");
    for (    String indexName : route.getList(String.class,"String_Node_Str","String_Node_Str")) {
      indexes.putIfAbsent(indexName,new DynMap("String_Node_Str",indexName));
      DynMap index=indexes.getMap(indexName);
      String category=route.getString("String_Node_Str","String_Node_Str");
      DynMap mp=this.createIndexEntry(route);
      if (mp == null)       continue;
      index.addToListWithDot("String_Node_Str" + category,mp);
    }
  }
  List<DynMap> inds=new ArrayList<DynMap>();
  for (  String ind : indexes.keySet()) {
    DynMap cats=indexes.getMap(ind + "String_Node_Str");
    List<DynMap> catList=new ArrayList<DynMap>();
    for (    String c : cats.keySet()) {
      DynMap ct=this.createIndexCategory(c,cats.getList(DynMap.class,"String_Node_Str"));
      if (ct != null) {
        catList.add(ct);
      }
    }
    Collections.sort(catList,new Comparator<DynMap>(){
      @Override public int compare(      DynMap o1,      DynMap o2){
        return o1.getString("String_Node_Str").compareTo(o2.getString("String_Node_Str"));
      }
    }
);
    indexes.getMap(ind).put("String_Node_Str",catList);
    inds.add(indexes.getMap(ind));
  }
  return inds;
}

Fixed version (ground truth):
/** 
 * creates a indexes where each entry looks like: { "name" : "default", //the default index "categories" : [ { "category" : "admin", //name of the category "routes" : [ {"route" : "/" , "abstract" : "blah blah"} ] } ] } individual entries are created by the createIndexEntry method.
 * @param routes
 * @return
 */
public List<DynMap> createIndexes(List<DynMap> routes){
  DynMap indexes=new DynMap();
  for (  DynMap route : routes) {
    route.putIfAbsent("String_Node_Str","String_Node_Str");
    for (    String indexName : route.getList(String.class,"String_Node_Str","String_Node_Str")) {
      indexes.putIfAbsent(indexName,new DynMap("String_Node_Str",indexName));
      DynMap index=indexes.getMap(indexName);
      String category=route.getString("String_Node_Str","String_Node_Str");
      DynMap mp=this.createIndexEntry(route);
      if (mp == null)       continue;
      index.addToListWithDot("String_Node_Str" + category,mp);
    }
  }
  List<DynMap> inds=new ArrayList<DynMap>();
  for (  String ind : indexes.keySet()) {
    DynMap cats=indexes.getMap(ind + "String_Node_Str");
    List<DynMap> catList=new ArrayList<DynMap>();
    for (    String c : cats.keySet()) {
      DynMap ct=this.createIndexCategory(c,cats.getList(DynMap.class,c));
      if (ct != null) {
        catList.add(ct);
      }
    }
    Collections.sort(catList,new Comparator<DynMap>(){
      @Override public int compare(      DynMap o1,      DynMap o2){
        return o1.getString("String_Node_Str").compareTo(o2.getString("String_Node_Str"));
      }
    }
);
    indexes.getMap(ind).put("String_Node_Str",catList);
    inds.add(indexes.getMap(ind));
  }
  return inds;
}