code: public static <T> void assumeThat(String message, T actual, Matcher<? super T> matcher) {
          Matching.checkMatch(message, actual, matcher, new MismatchAction() {
              @Override
              public void mismatch(String description) {
                  throw new AssumptionViolatedException(description);
              }
          });
      }
docs: Call to assume that <code>actual</code> satisfies the condition specified by <code>matcher</code>.
  If not, the test halts and is ignored.
  Example:
  <pre>:
  assumeThat(1, is(1)); // passes
  foo(); // will execute
  assumeThat(0, is(1)); // assumption failure! test halts
  int x = 1 / 0; // will never execute
  </pre>
  
  @param <T> the static type accepted by the matcher (this can flag obvious compile-time problems such as {@code assumeThat(1, is("a"))}
  @param actual the computed value being compared
  @param matcher an expression, built of {@link Matcher}s, specifying allowed values
  @see org.hamcrest.CoreMatchers
  @see JUnitMatchers