public void setValueAt(Object value, int realRow, int realColumn)
        {
            if ((0 == realRow) || (1 == realRow))
            {
                displayError("Illegal row,column pair [" + realRow + "," + realColumn + "]", "Error");
                return;
            }
            
            if (0 == realColumn)
            {
                displayError("Illegal row,column pair [" + realRow + "," + realColumn + "]", "Error");
                return;
            }
            
            int dataRow = realRow - 2;
            int dataColumn = realColumn - 1;
            
            Object oldValue = getDataValueAt(dataRow, dataColumn);
            setDataValueAt(value, dataRow, dataColumn);
            Object newValue = getDataValueAt(dataRow, dataColumn);
            
            if ((null == oldValue) && (null != newValue))
            {
                fireTableCellUpdated(realRow, realColumn);
            }
            else if (false == oldValue.equals(newValue))
            {
                fireTableCellUpdated(realRow, realColumn);
            }
        }