@SuppressWarnings("unchecked") public final void setAsObject(Object o, long... coordinates) { switch (getValueType()) { case BOOLEAN: setAsBoolean(MathUtil.getBoolean(o), coordinates); break; case BIGINTEGER: setAsBigInteger(MathUtil.getBigInteger(o), coordinates); break; case BIGDECIMAL: setAsBigDecimal(MathUtil.getBigDecimal(o), coordinates); break; case BYTE: setAsByte(MathUtil.getByte(o), coordinates); break; case CHAR: setAsChar(MathUtil.getChar(o), coordinates); break; case DOUBLE: setAsDouble(MathUtil.getDouble(o), coordinates); break; case FLOAT: setAsFloat(MathUtil.getFloat(o), coordinates); break; case INT: setAsInt(MathUtil.getInt(o), coordinates); break; case LONG: setAsLong(MathUtil.getLong(o), coordinates); break; case OBJECT: setObject((T) o, coordinates); break; case SHORT: setAsShort(MathUtil.getShort(o), coordinates); break; case STRING: setAsString(StringUtil.convert(o), coordinates); break; } }