List<Object> () { List<Object> result = new SmartList<>(); BaseToolManager<T> manager = getToolManager(); result.add(NONE_TOOL);//for empty selection for (ToolsGroup<T> group : manager.getGroups()) { result.add(group); result.addAll(manager.getTools(group.getName())); } return result; }