void handleChunk(CellChunk chunk) {
    try {
      currentState = currentState.handleChunk(chunk);
    } catch (RuntimeException e) {
      currentState = null;
      throw e;
    }
  }
void handleChunk ( CellChunk chunk ) { try { currentState = currentState . handleChunk ( chunk ) ; } catch ( RuntimeException e ) { currentState = null ; throw e ; } }
Feeds a new chunk into the sate machine. If the chunk is invalid, the state machine will throw
an exception and should not be used for further input.

<dl>
<dt>Valid states:
<dd>{@link StateMachine#AWAITING_NEW_ROW}
<dd>{@link StateMachine#AWAITING_NEW_CELL}
<dd>{@link StateMachine#AWAITING_CELL_VALUE}
<dt>Resulting states:
<dd>{@link StateMachine#AWAITING_NEW_CELL}
<dd>{@link StateMachine#AWAITING_CELL_VALUE}
<dd>{@link StateMachine#AWAITING_ROW_CONSUME}
</dl>

@param chunk The new chunk to process.
@throws InvalidInputException When the chunk is not applicable to the current state.
@throws IllegalStateException When the internal state is inconsistent