public List<String> getDataColumnHeaders(InputStream in) throws IOException, DecodingDataFromAdapterException {
    try (BufferedReader reader = new BufferedReader(new InputStreamReader(in, encoding))) {
        CSVFormat csvFormat = CSVFormat.DEFAULT
                .withAllowMissingColumnNames(false)
                .withDelimiter(delimiter);
        Iterable<CSVRecord> records = csvFormat.parse(reader);
        return this.parseColumnHeaders(records.iterator().next());
    }
}

        
main