private Cursor writeHeaderForFields(SXSSFSheet sheet,
Cursor start,
TestUnitsResults test,
List<List<FieldDescriptor>> nonEmptyFields) {
TreeSet<WriteTask> tasks = new TreeSet<>();
int rowNum = start.getRowNum();
int colNum = start.getColNum();
tasks.add(new WriteTask(new Cursor(rowNum, colNum++), "ID", styles.header));
TestSuite testSuite = test.getTestSuite();
ParameterWithValueDeclaration[] params = testSuite.getTest(0).getExecutionParams();
for (int i = 0; i < params.length; i++) {
ParameterWithValueDeclaration param = params[i];
boolean hasPK = isHasPK(param);
List<FieldDescriptor> fields = nonEmptyFields.get(i);
if (fields == null || fields.isEmpty()) {
tasks.add(new WriteTask(new Cursor(rowNum, colNum++), param.getName(), styles.header));
continue;
}
String prefix = param.getName() + ".";
if (hasPK) {
tasks.add(new WriteTask(new Cursor(rowNum, colNum++), prefix + "_PK_", styles.header));
}
colNum = addHeaderTasks(tasks, new Cursor(rowNum, colNum), fields, prefix);
}
return performWrite(sheet, start, tasks, getLastColumn(test, nonEmptyFields));
}