}
}
Collections.sort(newlist);
NodeEntity entity = new NodeEntity("/");
NodeEntity extCursor = entity;
for(int i = 0 ; i < newlist.size() ; i ++) {
String str = newlist.get(i);
if(newlist.get(i).contains("/")){
if(i > 0 && str.contains(newlist.get(i - 1))) {
str = str.substring(newlist.get(i - 1).length());
} else if(i > 0 && !str.contains(newlist.get(i - 1)) && isSamePre(newlist.get(i - 1), str)) {
extCursor = updateCursor(newlist.get(i - 1), str, entity);
str = str.substring(getSamePre(newlist.get(i - 1), str).length());
} else if(i > 0 && !str.contains(newlist.get(i - 1)) && !isSamePre(newlist.get(i - 1), str)) {
extCursor = entity;
}
if(str.startsWith("/")){
str = str.substring(1);
}
String[] array = str.split("/");
NodeEntity cursor = extCursor;
for(int j = 0 ; j < array.length ; j ++) {
NodeEntity tmp = new NodeEntity(array[j]);
cursor.add(tmp);
cursor = tmp;
}
extCursor = cursor;
} else {
NodeEntity tmp = new NodeEntity(str);
entity.add(tmp);
extCursor = tmp;
}
}