in src/main/java/com/univocity/parsers/common/processor/core/AbstractProcessorSwitch.java [117:151]
public final void rowProcessed(String[] row, final T context) {
Processor processor = switchRowProcessor(row, context);
if (processor == null) {
processor = NoopProcessor.instance;
}
if (processor != selectedProcessor) {
contextForProcessor = processors.get(processor);
if (processor != NoopProcessor.instance) {
if (contextForProcessor == null) {
contextForProcessor = wrapContext(context);
processor.processStarted(contextForProcessor);
processors.put(processor, contextForProcessor);
}
processorSwitched(selectedProcessor, processor);
selectedProcessor = processor;
if (getIndexes() != null) {
int[] indexes = getIndexes();
String[] tmp = new String[indexes.length];
for (int i = 0; i < indexes.length; i++) {
int index = indexes[i];
if (index < row.length) {
tmp[i] = row[index];
}
}
row = tmp;
}
selectedProcessor.rowProcessed(row, contextForProcessor);
}
} else {
selectedProcessor.rowProcessed(row, contextForProcessor);
}
}