private NavigableMap < Integer , IScan > getScansInSubsetByNumber ( NavigableMap < Integer , IScan > scanMap , LCMSDataSubset subset ) { NavigableMap < Integer , IScan > scansInSubsetByNumber = scanMap ; if ( subset . getScanNumLo ( ) != null ) { scansInSubsetByNumber . subMap ( subset . getScanNumLo ( ) , true , scansInSubsetByNumber . lastKey ( ) , true ) ; } if ( subset . getScanNumHi ( ) != null ) { scansInSubsetByNumber . subMap ( scansInSubsetByNumber . firstKey ( ) , true , subset . getScanNumHi ( ) , true ) ; } return scansInSubsetByNumber ; }
It won t filter the scanMap according the the full subset predicate it only selects scan number range . Further checks for ms - levels and precursor ranges is required . It s just a convenience method .