/** * Gets an ordered list of items in the tree. This is necessary to make sure children are coming right after their * parents. * * @param treemap the unordered list of tree nodes * @param map the mapping between a node name and its corresponding tree node * @param context the current request context * @return ordered list of {@code ListItem} tree nodes */ protected List<ListItem> getTreeList(Map<String, List<ListItem>> treemap, Map<String, ListItem> map, XWikiContext context) { List<ListItem> list = getCachedDBTreeList(context); if (list == null) { list = new ArrayList<ListItem>(); addToTreeList(list, treemap, map, "", context); setCachedDBTreeList(list, context); } return list; }