A special
RowProcessor implementation that combines and allows switching among different
RowProcessors. Each RowProcessor will have its own
ParsingContext. Concrete implementations of this class
are expected to implement the
switchRowProcessor(String[], Context) method and analyze the input row
to determine whether or not the current
RowProcessor implementation must be changed to handle a special
circumstance (determined by the concrete implementation) such as a different row format.
When the row processor is switched, the
rowProcessorSwitched(RowProcessor, RowProcessor) will be called, and
must be overridden, to notify the change to the user.