public static Set<Role> getAllParents(Role role) throws SQLException { final Set<Role> parents = new HashSet<>(); List<ExtendRecord> parentExtendList = DatabaseHelper.getExtendRecordDao().queryForMatching(new ExtendRecord(null, role)); for (ExtendRecord extendRecord : parentExtendList) { Role parent = extendRecord.getRoleParent(); parents.add(parent); parents.addAll(getAllChildren(parent)); } return parents; }