### Question:
InstanceTypeMatcher extends ElementMatcher.Junction.AbstractBase<T> { public boolean matches(T target) { return target != null && matcher.matches(TypeDescription.ForLoadedType.of(target.getClass())); } InstanceTypeMatcher(ElementMatcher<? super TypeDescription> matcher); boolean matches(T target); @Override String toString();  }### Answer:
@Test public void testMatch() throws Exception { when(matcher.matches(TypeDescription.ForLoadedType.of(object.getClass()))).thenReturn(true); assertThat(new InstanceTypeMatcher<Object>(matcher).matches(object), is(true)); }
@Test public void testNoMatch() throws Exception { when(matcher.matches(TypeDescription.ForLoadedType.of(object.getClass()))).thenReturn(false); assertThat(new InstanceTypeMatcher<Object>(matcher).matches(object), is(false)); }
@Test public void testNoMatchNull() throws Exception { assertThat(new InstanceTypeMatcher<Object>(matcher).matches(null), is(false)); }