code: private static String serialize(final QueryParameter paramMetadata, final Object fieldValue, final String fieldName) {
          String paramValue;
          try {
              paramValue = paramMetadata.serializer().newInstance().handle(fieldValue);
          } catch (final InstantiationException e) {
              LOGGER.error("Failure while serializing field {}", new Object[] { fieldName, e });
              paramValue = new ToStringSerializer().handle(fieldValue);
          } catch (final IllegalAccessException e) {
              LOGGER.error("Failure while serializing field {}", new Object[] { fieldName, e });
              paramValue = new ToStringSerializer().handle(fieldValue);
          }
          return paramValue;
      }
docs: Serializes the field value regardless of reflection errors. Fallback to the {@link ToStringSerializer}.
  
  @param paramMetadata
  the query parameter annotation
  @param fieldValue
  the field value
  @param fieldName
  the field name (for logging purposes only)
  @return the serialized value
  @throws UnsupportedEncodingException
  UTF-8 encoding issue