Object[] (Project project, String url, String moduleName) { try { final List<String> parts = StringUtil.split(url, " ", true); if (parts.size() < 3) return null; final String id = parts.get(0); final TreeSet<WorkingSetSerializable> set = ourSerializables.get(id); if (set != null && !set.isEmpty()) { final int version = Integer.parseInt(parts.get(1)); final String cut = StringUtil.join(parts.subList(2, parts.size()), " "); for (Iterator<WorkingSetSerializable> iterator = set.descendingIterator(); iterator.hasNext(); ) { WorkingSetSerializable serializable = iterator.next(); if (serializable.getVersion() == version) { return readWithSerializable(project, cut, serializable); } } readWithSerializable(project, cut, set.last()); } } catch (IOException e) { LOG.info(e); } return null; }