### Question:
HasJsonWhich extends TypeSafeMatcher<String> { @Override public void describeTo(Description description) { matcher.describeTo(description); } HasJsonWhich(Matcher<JsonNode> matcher); @Override void describeTo(Description description);  }### Answer:
@Test public void matcherShouldDescribeItselfCorrectly() { HasJsonWhich matcher = new HasJsonWhich(new HasJsonValue("number", new IsEqual<Integer>(1))); Description description = new StringDescription(); matcher.describeTo(description); assertThat(description.toString(), is("JsonNode with 'number' matching: <1>")); }