'Requires:
line --line to parse
Returns:
nothing
Logic:
In the text that defines a row. If a control word is found, handle the
control word with another method.
Check for states that will end this state.
While in the row definition, certain tokens can end a row or end a table.
If a paragrah definition (pard-start) is found, and the you are already in
a table, start of a row.'

def __in_row_def_func(self, line):

    if (self.__token_info == 'cw<tb<row_______'):
        self.__end_row_func(line)
        self.__end_row_def_func(line)
        self.__write_obj.write(line)
    elif (line[0:2] == 'cw'):
        self.__handle_row_token(line)
        self.__write_obj.write(line)
    elif ((self.__token_info == 'mi<mk<not-in-tbl') and ('in_table' in self.__state)):
        self.__end_row_def_func(line)
        self.__close_table(line)
        self.__write_obj.write(line)
    elif (self.__token_info == 'mi<mk<pard-start'):
        self.__end_row_def_func(line)
        if ((self.__state > 0) and (self.__state[(-1)] == 'in_table')):
            self.__start_row_func(line)
            self.__start_cell_func(line)
        self.__write_obj.write(line)
    elif (self.__token_info == 'mi<mk<in-table__'):
        self.__end_row_def_func(line)
        if ((len(self.__state) > 0) and (self.__state[(-1)] != 'in_table')):
            self.__start_table_func(line)
        self.__write_obj.write(line)
    else:
        self.__write_obj.write(line)
