code: private Object deserializePrimitive(PrimitiveTypeInfo type, Object value)
              throws SerDeException {
          switch (type.getPrimitiveCategory()) {
              case VOID:
                  return null;
              case STRING:
                  return deserializeString(value);
              case BOOLEAN:
                  return deserializeBoolean(value);
              case BYTE:
              case SHORT:
              case INT:
              case LONG:
              case FLOAT:
              case DOUBLE:
                  return deserializeNumber(value, type);
              case DATE:
              case TIMESTAMP:
                  return deserializeDate(value, type);
              default:
                  throw new SerDeException("Unsupported type: " + type.getPrimitiveCategory());
          }
      }
docs: Deserializes a primitive to its corresponding Java type, doing a best-effort conversion when necessary.