code: public static <T> HeaderName<T> forType(final Class<T> headerType, final String name) {
          return new HeaderName<>(name);
      }
docs: Creates a new {@code HeaderName} instance with the provided name
  used as key.
  
  <p>Under some circumstances the type can not be directly inferred from the
  return value as using in {@link #forName(String)}. Use this overload to make
  the header value type explicit.</p>