### Question:
Url implements Recyclable { public void copyFrom(Url other) { this.protocol = other.protocol; this.full.setLength(0); this.full.append(other.full); this.hostname = other.hostname; this.port.setLength(0); this.port.append(other.port); this.pathname = other.pathname; this.search = other.search; }  @Nullable String getProtocol(); Url withProtocol(@Nullable String protocol); StringBuilder getFull(); Url appendToFull(CharSequence charSequence); @Nullable String getHostname(); Url withHostname(@Nullable String hostname); StringBuilder getPort(); Url withPort(int port); @Nullable String getPathname(); Url withPathname(@Nullable String pathname); @Nullable String getSearch(); Url withSearch(@Nullable String search); @Override void resetState(); void copyFrom(Url other); boolean hasContent();  }### Answer:
@Test void testCopyOf() { final Url url = newUrl(); final Url copy = new Url(); copy.copyFrom(url); assertThat(toJson(url)).isEqualTo(toJson(copy)); assertThat(toJson(url)).isNotEqualTo(toJson(new Url())); }