firstIndex = chooseMultivaluedFieldIndexFromHeaderIndex(i); String[] fields = firstBeanField != null ? firstBeanField.write(bean, firstIndex) int displacedIndex = i+j; subsequentBeanField = findField(displacedIndex); subsequentIndex = chooseMultivaluedFieldIndexFromHeaderIndex(displacedIndex); while(j < fields.length && displacedIndex < numColumns subsequentIndex = chooseMultivaluedFieldIndexFromHeaderIndex(displacedIndex); subsequentIndex = chooseMultivaluedFieldIndexFromHeaderIndex(i); while(Objects.equals(firstBeanField, subsequentBeanField) && Objects.equals(firstIndex, subsequentIndex) contents.add(StringUtils.EMPTY); subsequentBeanField = findField(++i); subsequentIndex = chooseMultivaluedFieldIndexFromHeaderIndex(i);