private ObjectNode writeValue(Value<?> value) {
ObjectNode jValue;
Class<?> valueType = value.value().getClass();
ValueTypeSerializer vts = valueTypeSerializerRegistry.getSerializer(valueType);
if(vts != null){
jValue = vts.serialize(mapper,value.value());
//TODO assert that jValue does not define "class" and "prob"!
} else { //use the default binding and the "data" field
jValue = mapper.createObjectNode();
jValue.put("value", mapper.valueToTree(value.value()));
}