'Insert a new row into the table, so that its row index will be
``row_index``.  If the table contains any rows whose row index
is greater than or equal to ``row_index``, then they will be
shifted down.
:param rowvalue: A tuple of cell values, one for each column
in the new row.'

def insert(self, row_index, rowvalue):

    self._checkrow(rowvalue)
    self._rows.insert(row_index, rowvalue)
    if (self._reprfunc is not None):
        rowvalue = [self._reprfunc(row_index, j, v) for (j, v) in enumerate(rowvalue)]
    self._mlb.insert(row_index, rowvalue)
    if self._DEBUG:
        self._check_table_vs_mlb()
