code: protected String getHeaderValueText(Object value) {
          if (value == null) {
              return null;
          }
  
          // TODO: Type conversion based on provided config
          if (value.getClass() == String.class) {
              return (String) value;
          } else if (value instanceof List) {
              List<?> list = (List<?>) value;
              if (list.size() == 1) {
                  return getHeaderValueText(list.get(0));
              } else {
                  return list.toString();
              }
          }
  
          return null;
      }
docs: This method returns a textual representation of the supplied
  header value.
  
  @param value The original value
  @return The text representation, or null if no suitable found