if (columnIndex <= columnNames.length) {
if (columnIndex <= _columnNames.length) {
        public synchronized void setValueAt(Object aValue, int rowIndex, int columnIndex) {            String[] rowdata = (String[]) data.get(rowIndex);            if (rowIndex<0 || rowIndex > data.size()) {                throw new ArrayIndexOutOfBoundsException("Attempt to set row " + rowIndex + ", column " + columnIndex + " to " + aValue + " : row does not exist!");            }            if (columnIndex <= columnNames.length) {                rowdata[columnIndex] = (String) aValue;                fireTableCellUpdated(rowIndex, columnIndex);            } else {                throw new ArrayIndexOutOfBoundsException("Attempt to set row " + rowIndex + ", column " + columnIndex + " to " + aValue + " : column does not exist!");            }        }