code: public static Map<String, String[]> getCsvDataMapArray(String fileName, boolean headerPresent)
        throws IOException {
      final Map<String, String[]> result = Maps.newHashMap();
      new CsvReader(fileName, headerPresent)
          .processReader(
              (header, line, lineNumber) ->
                  result.put(
                      line[0],
                      Arrays.asList(line)
                          .subList(1, line.length)
                          .toArray(new String[line.length - 1])));
      return result;
    }
docs: Returns a {@code Map<String, String[]>} mapping of the first column to an
  array of the rest of the columns.
  
  @param fileName the CSV file to load
  @param headerPresent {@code true} if the fist line is the header
  @return a {@code Map<String, String[]>} mapping of the first column to an
  array of the rest of the columns
  @throws IllegalArgumentException if there is fewer than 2 columns in
  the CSV
  @throws IOException if there was an exception reading the file