code: public static Predicate<Tuple2<Context<?>, Boolean>> rulesBelow(final Rule... rules) {
          return new Predicate<Tuple2<Context<?>, Boolean>>() {
              public boolean apply(Tuple2<Context<?>, Boolean> tuple) {
                  MatcherPath path = tuple.a.getPath();
                  for (Rule rule : rules) {
                      Matcher matcher = (Matcher) rule;
                      if (tuple.a.getMatcher() != matcher && path.contains(matcher)) return true;
                  }
                  return false;
              }
          };
      }
docs: A predicate usable as a filter (element) of a {@link org.parboiled.parserunners.TracingParseRunner}.
  Enables printing of rule tracing log messages for all sub rules of the given rules.
  
  @param rules the rules whose sub rules to generate tracing message for
  @return a predicate