code: public static Traverson traverson(final LinkResolver linkResolver,
                                        final ObjectMapper objectMapper) {
          if (objectMapper.isEnabled(ACCEPT_SINGLE_VALUE_AS_ARRAY)) {
              return new Traverson(linkResolver, objectMapper);
          } else {
              return new Traverson(linkResolver, objectMapper
                      .copy()
                      .configure(ACCEPT_SINGLE_VALUE_AS_ARRAY, true));
          }
      }
docs: <p>
  Create a Traverson that is using the given {@link Function} to resolve a Link and return a HAL+JSON document.
  </p>
  <p>
  The function will be called by the Traverson, whenever a Link must be followed. The Traverson will
  take care of URI templates (templated links), so the implementation of the function can rely on the
  Link parameter to be not {@link Link#isTemplated() templated}.
  </p>
  <p>
  Typical implementations of the Function will rely on some HTTP client. Especially in this case,
  the function should take care of the link's {@link Link#getType() type} and {@link Link#getProfile()},
  so the proper HTTP Accept header is used.
  </p>
  
  @param linkResolver A function that gets a Link of a resource and returns a HAL+JSON document.
  @param objectMapper The ObjectMapper instance used to parse documents.
  @return Traverson
  
  @since 2.0.0