@Override
	public void setValueAt(Object value, int row, int column) {
		if (column == 1) {
			OptionValue val = options.get(row);
			
			// It's a bit ugly, but it looks like default cell editor always supplies String as a value
			switch(val.getDefinition().getType()) {
			case Int:
				if (value instanceof String) {
					val.setValue(Integer.parseInt((String) value));
				} else if (value instanceof Number) {
					val.setValue(((Number) value).intValue());
				}
				break;
			case YesNo:
				if (value instanceof String) {
					val.setValue(Boolean.parseBoolean((String) value));
				} else if (value instanceof Boolean) {
					val.setValue(value);
				}
				break;
			default:
				val.setValue(value);
			}
			
			fireTableCellUpdated(row, column);
		}
	}