### Question:
Affordance extends Link { public String asHeader() { StringBuilder result = new StringBuilder(); for (Map.Entry<String, List<String>> linkParamEntry : linkParams.entrySet()) { if (result.length() != 0) { result.append("; "); } String linkParamEntryKey = linkParamEntry.getKey(); if (REL.paramName.equals(linkParamEntryKey) || REV.paramName.equals(linkParamEntryKey)) { result.append(linkParamEntryKey) .append("="); result.append("\"") .append(StringUtils.collectionToDelimitedString(linkParamEntry.getValue(), " ")) .append("\""); } else { StringBuilder linkParams = new StringBuilder(); for (String value : linkParamEntry.getValue()) { if (linkParams.length() != 0) { linkParams.append("; "); } linkParams.append(linkParamEntryKey) .append("="); linkParams.append("\"") .append(value) .append("\""); } result.append(linkParams); } } String linkHeader = "<" + partialUriTemplate.asComponents() .toString() + ">; "; return result.insert(0, linkHeader) .toString(); } Affordance(String uriTemplate, String... rels);  Affordance(String uriTemplate);  Affordance(PartialUriTemplate uriTemplate, List<ActionDescriptor> actionDescriptors, String... rels); private  Affordance(String uriTemplate, MultiValueMap<String, String> linkParams,
                       List<ActionDescriptor> actionDescriptors); void addRel(String rel); void setType(String mediaType); void addHreflang(String hreflang); void setTitle(String title); @JsonIgnore boolean isBaseUriTemplated(); String getTitle(); @JsonUnwrapped DynaBean getLinkExtensions(); String getType(); void setTitleStar(String titleStar); void setMedia(String mediaDesc); void addRev(String rev); void setAnchor(String anchor); void addLinkParam(String paramName, String... values); @JsonIgnore String getHeaderName(); String asHeader(); @Override List<TemplateVariable> getVariables(); @Override String toString(); @Override Affordance withRel(String rel); @Override Affordance withSelfRel(); @Override Affordance expand(Object... arguments); @Override String getHref(); @JsonIgnore PartialUriTemplateComponents getUriTemplateComponents(); @Override Affordance expand(Map<String, ? extends Object> arguments); Affordance expandPartially(Object... arguments); Affordance expandPartially(Map<String, ? extends Object> arguments); @JsonIgnore List<String> getRels(); @Override String getRel(); @JsonIgnore List<String> getRevs(); @JsonIgnore String getRev(); void setActionDescriptors(List<ActionDescriptor> actionDescriptors); @JsonIgnore List<ActionDescriptor> getActionDescriptors(); @JsonIgnore Cardinality getCardinality(); @JsonIgnore boolean isSelfRel(); @JsonIgnore boolean hasUnsatisfiedRequiredVariables(); @JsonIgnore TypedResource getCollectionHolder(); void setCollectionHolder(TypedResource collectionHolder);  }### Answer:
@Test public void testAffordanceAsHeader() { final Affordance affordance = new Affordance("http: assertEquals("<http: }