### Question:
HashRequestHeaders extends ReadOnlyParameters implements RequestHeaders { @Override public Optional<URI> referer() { return first(Http.Header.REFERER).map(URI::create); } HashRequestHeaders();   HashRequestHeaders(Map<String, List<String>> initialContent); @Override Optional<MediaType> contentType(); @Override OptionalLong contentLength(); @Override Parameters cookies(); @Override List<MediaType> acceptedTypes(); @Override boolean isAccepted(MediaType mediaType); @Override Optional<MediaType> bestAccepted(MediaType... mediaTypes); @Override Optional<ZonedDateTime> acceptDatetime(); @Override Optional<ZonedDateTime> date(); @Override Optional<ZonedDateTime> ifModifiedSince(); @Override Optional<ZonedDateTime> ifUnmodifiedSince(); @Override Optional<URI> referer();  }### Answer:
@Test public void referer() { HashRequestHeaders hs = withHeader(Http.Header.REFERER, "http: assertThat(hs.referer().map(URI::toString).orElse(null), is("http: }