HashMap<String, LinkedList<SpectrumMatch>> tagMap = idfileReader.getTagsMap();
if (tagMap != null && !tagMap.isEmpty()) {
waitingHandler.setMaxSecondaryProgressCounter(tagMap.size());
waitingHandler.appendReport("Mapping de novo tags to peptides.", true, true);
for (String key : tagMap.keySet()) {
TagMatcher tagMatcher = new TagMatcher(searchParameters.getModificationProfile().getFixedModifications(), searchParameters.getModificationProfile().getAllNotFixedModifications(), sequenceMatchingPreferences);
tagMatcher.setSynchronizedIndexing(true);
Iterator<SpectrumMatch> matchIterator = tagMap.get(key).iterator();
while (matchIterator.hasNext()) {
SpectrumMatch spectrumMatch = matchIterator.next();
SpectrumMatchTagMapperRunnable tagMapperRunnable = new SpectrumMatchTagMapperRunnable(spectrumMatch, tagMatcher, key, waitingHandler, !matchIterator.hasNext());
pool.submit(tagMapperRunnable);