code: public static Map<String, String> getCsvDataMap(String fileName,
        final int key, final int value, boolean headerPresent) throws IOException {    
      final Map<String, String> result = Maps.newHashMap();
      new CsvReader(fileName, headerPresent)
          .processReader((header, line, lineNumber) -> result.put(line[key], line[value]));
      return result;
    }
docs: Returns a {@code Map<String, String>} mapping of the column designated by
  {@code key} to the column designated by {@code value}. This method also
  ignores all columns other than the columns specified by {@code key} and
  {@code value}.
  
  @param fileName the CSV file to load
  @param key the 0-indexed column number to map to the key of the returned
  data map
  @param value the column number to map to the value of the returned data
  map
  @param headerPresent {@code true} if the fist line is the header
  @return a {@code Map<String, String>} mapping of the columns specified by
  {@code key} and {@code value}
  @throws IOException if there was an error while reading the file
  @throws IllegalArgumentException if CSV file does not have the
  columns specified by {@code key} or {@code value}