QueryFilters { @API(status = MAINTAINED) public static QueryFilter defaultValue() { return defaultValues(QueryFilter.class).stream() .reduce(accessToken(), QueryFilter::merge); } private  QueryFilters(); @API(status = MAINTAINED) static QueryFilter defaultValue(); @API(status = MAINTAINED) static QueryFilter accessToken(); @API(status = MAINTAINED) static QueryFilter replaceQuery(
            final String name, final String replacement); @API(status = EXPERIMENTAL) static QueryFilter replaceQuery(
            final Predicate<String> predicate, final String replacement); @API(status = EXPERIMENTAL) static QueryFilter removeQuery(final String name);  }
@Test void accessTokenShouldFilterAccessTokenParameterByDefault() { final QueryFilter unit = defaultValue(); assertThat(unit.filter("name=alice&access_token=bob"), is("name=alice&access_token=XXX")); }