+ if (o1.getPath().equals(o2.getPath()))
+ return o1.getName().compareTo(o2.getName());
+ else if (o1.getPath().startsWith(o2.getPath()))
+ return -1;
+ else if (o2.getPath().startsWith(o1.getPath()))
+ return 1;
+ else
+ return o1.getPath().compareTo(o2.getPath());