public static <T extends Tree> Matcher<T> not(final Matcher<T> matcher) {
    return new Matcher<T>() {
      @Override
      public boolean matches(T t, VisitorState state) {
        return !matcher.matches(t, state);
      }
    };
  }
public static < T extends Tree > Matcher < T > not ( final Matcher < T > matcher ) { return new Matcher < T > ( ) { @ Override public boolean matches ( T t , VisitorState state ) { return ! matcher . matches ( t , state ) ; } } ; }
Matches an AST node iff it does not match the given matcher.