private List getTreeList(int parentId, List folderList) { List treeList = null; FolderTree tree = null; for (Folder folder : folderList) { if((parentId == -1 && folder.getLevel() == 1) || (parentId != -1 && folder.getParentId() == parentId)) { tree = new FolderTree(folder.getName()); tree.setId(folder.getId()); tree.setFolders(getTreeList(tree.getId(), folderList)); if(treeList == null) { treeList = new ArrayList(); } treeList.add(tree); } } return treeList; }