* @param column the column whose value is to be queried
     * @return the value Object at the specified cell
     * @throws IndexOutOfBoundsException if an invalid row or column was given
     */
    @Override
    public Object getValueAt(int row, int column) {
        ColumnInformation ci = (ColumnInformation) columns.get(column);

        Object value = null;

        try {
            value = ci.getGetter().invoke(getRow(row));
        } catch (IllegalAccessException e) {
        } catch (InvocationTargetException e) {
        }

        return value;
    }