@Override public T populateNewBean(String[] line) throws InstantiationException, IllegalAccessException, IntrospectionException, InvocationTargetException, CsvRequiredFieldEmptyException, CsvDataTypeMismatchException, CsvConstraintViolationException { verifyLineLength(line.length); T bean = createBean(); for (int col = 0; col < line.length; col++) { if (isAnnotationDriven()) { setFieldValue(bean, line[col], col); } else { processProperty(bean, line, col); } } return bean; }