setPropertySize(header.length);
for (int i = 0; i < firstRow.length; i++) {
String token = header[i];
String value = firstRow[i];
Domain domain = calculateDomain(value);
CSVDataProperty dp = createCSVProperty();
dp.setPropertyId(token.toLowerCase());
dp.setDomain(domain);
addProperty(dp, i);
}
// Load the CSV rows
for (int lc = 1; lc < lines.size(); lc++) {
String[] line = lines.get(lc);
Object[] row = new Object[header.length];
for (int i = 0; i < line.length; i++) {
String valueStr = line[i];
CSVDataProperty prop = (CSVDataProperty) getProperties()[i];
if (!StringUtils.isBlank(valueStr)){
row[i] = parseValue(prop, valueStr);
} else {
row[i] = null;
}