code: 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;
    }
docs: 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.
  
  @param scanMap use {@link #getMapNum2scan() } for the broadest use
  @param subset only scan numbers will be used for filtering the scanMap