code: public static Map<String, String[]> readMap(String filename,
  			String delimiter) throws IOException {
  		Map<String, String[]> map = new TreeMap<>();
  		// read spec-file as resource, e.g., from a jar
  		try (InputStreamReader isr = new InputStreamReader(
  				IOUtil.class.getResourceAsStream(SPEC_DIR + filename));
  				BufferedReader reader = new BufferedReader(isr)) {
  			String line = null;
  			while ((line = reader.readLine()) != null) {
  				// split line into the values
  				String[] values = line.split(delimiter);
  				// put first element as key, rest as array of value-strings
  				map.put(values[0], Arrays.copyOfRange(values, 1, values.length));
  			}
  			assert map != null;
  			return map;
  		}
  	}
docs: Reads the specified file into a map. The first value is used as key. The
  rest is put into a list and used as map value. Each entry is one line of
  the file.
  <p>
  Ensures that no null value is returned.
  
  @param filename
  the name of the specification file (not the path to it)
  @param delimiter
  the delimiter regex for one column
  @return a map with the first column as keys and the other columns as
  values.
  @throws IOException
  if unable to read the specification file