public List<Processor> getProcessors(String type) { List<Processor> res = new ArrayList<>(); Collection<ProcessorDescriptor> all = processors.values(); for (Processor proc : all) { if (type == null || proc.getTypes().contains(type)) { res.add(proc); } } Collections.sort(res); return res; }