if (qName.equals(RawDataElementName_2_3.MASS_LIST.getElementName())) {
char encodedDataPoints[] = getTextOfElement().toCharArray();
DataPoint dataPoints[] = ScanUtils
.decodeDataPointsBase64(encodedDataPoints);
SimpleMassList newML = currentMassLists
.get(currentMassLists.size() - 1);
newML.setDataPoints(dataPoints);
}
if (qName.equals(RawDataElementName_2_3.SCAN.getElementName())) {
try {
int newStorageID = 1;
TreeMap<Integer, Long> dataPointsOffsets = newRawDataFile
.getDataPointsOffsets();
TreeMap<Integer, Integer> dataPointsLengths = newRawDataFile
.getDataPointsLengths();
if (!dataPointsOffsets.isEmpty())
newStorageID = dataPointsOffsets.lastKey().intValue() + 1;
StorableScan storableScan = new StorableScan(newRawDataFile,
newStorageID, dataPointsNumber, scanNumber, msLevel,
retentionTime, parentScan, precursorMZ,
precursorCharge, fragmentScan, centroided);
newRawDataFile.addScan(storableScan);
dataPointsOffsets.put(newStorageID, storageFileOffset);
dataPointsLengths.put(newStorageID, dataPointsNumber);
for (SimpleMassList newML : currentMassLists) {
newML.setScan(storableScan);
}
allMassLists.addAll(currentMassLists);
currentMassLists.clear();
} catch (IOException e) {