I'm not sure if this answers your question, but you can put whatever you like in the header - it doesn't have to be identical to the mapping array passed to beanWriter.write()
For example, the following will give the output you desire:
final String[] header = new String[] { "First Name", "Last Name", "Birthday"};
final String[] fieldMapping = new String[] { "firstName", "lastName", "birthDate"};
// write the header
beanWriter.writeHeader(header);
// write the beans
for( final CustomerBean customer : customers ) {
beanWriter.write(customer, fieldMapping , processors);
}