<BUG>for (ArrayList<NeutralLoss> losses : neutralLossesCombinations) {ions.add(new TagFragmentIon(subType, aa, subaa, rewindMass + Atom.C.getMonoisotopicMass() + 2 * Atom.O.getMonoisotopicMass() - getLossesMass(losses), losses, gap));}</BUG><CONTEXT>ArrayList<Ion> ions = ionsMap.get(subType);if (ions == null) {ions = new ArrayList<Ion>();ionsMap.put(subType, ions);}<extra_id_0>subType = TagFragmentIon.Y_ION;</CONTEXT>
for (NeutralLossCombination losses : neutralLossesCombinations) {ions.add(new TagFragmentIon(subType, aa, subaa, forwardMass - co - losses.getMass(), losses.getNeutralLossCombination(), massOffset));subType = TagFragmentIon.B_ION;