code: public <T> void assertIs(Description description, T actual, Matcher<? super T> matcher) {
      checkNotNull(matcher);
      if (!matcher.matches(actual)) {
        String format = "expecting:<%s> to be:<%s>";
        throw failures.failure(description, new BasicErrorMessageFactory(format, actual, matcher));
      }
    }
docs: Asserts that the <em>actual</em> value satisfies the given {@link Matcher}.
  
  @param <T> the type of the actual value and the type of values that given {@code Matcher} takes.
  @param description the description of the <em>actual</em> object.
  @param actual the <em>actual</em> value.
  @param matcher the given {@code Matcher}.
  @throws NullPointerException if the given {@code Matcher} is {@code null}.
  @throws AssertionError if the <em>actual</em> value does not satisfy the given {@code Matcher}.