Perhaps I am not understanding what the method captureHeader() in OpenCSV is for, but the method grabs a CSV file's headers and sets a protected 'header' variable to a String array of those values.
But then how do you access those header values to try and match say "first_name" from the csv to "firstName" in your Bean? The idea being to create the MappingStrategy from those headers before actually parsing the full csv file. However captureHeader() is a void and 'header' is protected?