code: public boolean isSupported(TypeDesc propertyType) {
          if (propertyType.toPrimitiveType() != null) {
              return true;
          }
          if (propertyType == TypeDesc.STRING || propertyType == TypeDesc.forClass(byte[].class)) {
              return true;
          }
          Class clazz = propertyType.toClass();
          if (clazz != null) {
              return Lob.class.isAssignableFrom(clazz) ||
                  BigInteger.class.isAssignableFrom(clazz) ||
                  BigDecimal.class.isAssignableFrom(clazz);
          }
          return false;
      }
docs: Returns true if the type of the given property type is supported. The
  types currently supported are primitives, primitive wrapper objects,
  Strings, byte arrays and Lobs.