case BOOLEAN:
boolean b = v.get().asBoolean().toBoolean();
System.out.println("read boolean: " + b);
break;
case INTEGER:
IntegerHolder ih = v.getIntegerHolder();
if(ih.isValidInt()) { // int range check [-2^31-1, 2^31-1]
int i = ih.asInt();
System.out.println("read int: " + i);
}
else {
long l = ih.asLong();
System.out.println("read long: " + l);
}
break;
case FLOAT:
FloatHolder fh = v.getFloatHolder();