@Test public void canAssertSubtypes() { assertThat(1, equalTo((Number) 1)); }
public static <T> void assertThat(T actual, Matcher<? super T> matcher) { assertThat("", actual, matcher); }
MatcherAssert { public static <T> void assertThat(T actual, Matcher<? super T> matcher) { assertThat("", actual, matcher); } }
MatcherAssert { public static <T> void assertThat(T actual, Matcher<? super T> matcher) { assertThat("", actual, matcher); }  }
MatcherAssert { public static <T> void assertThat(T actual, Matcher<? super T> matcher) { assertThat("", actual, matcher); }  static void assertThat(T actual, Matcher<? super T> matcher); static void assertThat(String reason, T actual, Matcher<? super T> matcher); static void assertThat(String reason, boolean assertion); }
MatcherAssert { public static <T> void assertThat(T actual, Matcher<? super T> matcher) { assertThat("", actual, matcher); }  static void assertThat(T actual, Matcher<? super T> matcher); static void assertThat(String reason, T actual, Matcher<? super T> matcher); static void assertThat(String reason, boolean assertion);  }