### Question:
URLBuilder { public static URLBuilder createFrom(final List<String> segments, final Metadata metadata, final QueryStringBuilder query) { return URLBuilder.createNew().appendPathSegments(segments).setMetadata(metadata).setQueryString(query); } private  URLBuilder(); private  URLBuilder(final List<String> segments, final Metadata metadata, final QueryStringBuilder query); static URLBuilder createNew(); static URLBuilder createFrom(final List<String> segments, final Metadata metadata,
            final QueryStringBuilder query); static URLBuilder createFrom(final List<String> segments, final Metadata metadata); static URLBuilder createFrom(final String segments); URLBuilder appendPathSegments(final List<String> segments); URLBuilder appendPathSegments(final String segments); URLBuilder addQueryParameters(final String parameters); URLBuilder decode(); URLBuilder encode(); String getEncoding(); Metadata getMetadata(); QueryStringBuilder getQueryStringBuilder(); URLBuilder setQueryString(final QueryStringBuilder query); List<String> getSegments(); boolean hasLeadingSlash(); boolean hasTrailingSlash(); int numSegments(); void setEncoding(final String encoding); URLBuilder setMetadata(final Metadata metadata); String toPath(); @Override String toString(); URI toURI(); String toURL();  }### Answer:
@Test(expected = IllegalArgumentException.class) public void testNullURL() throws Exception { URLBuilder.createFrom(null); }