public void setValueAt(Object newData, int row, int column) {
		((Object[])data.get(row))[column] = newData;
		if (row + 1 == getRowCount()) {
			data.add(initializeRow(row + 1));
			fireTableRowsInserted(row + 1, row + 1);
		}
        if (row  >= getRowCount()) {
            data.add(initializeRow(row));
            fireTableRowsInserted(row, row);
        }
		fireTableCellUpdated(row, column);
	}