@Override
    public void setColumnAt(int columnIndex, Object value) throws ColumnFormatException, IndexOutOfBoundsException {
        if (value == null || value == JsonNull.INSTANCE) {
            value = null;
        }
        checkBounds(columnIndex);
        value = castTypes(types.get(columnIndex), value);
        if (value != null) {
            checkType(columnIndex, value.getClass());
        }
        values.set(columnIndex, value);
    }