@Override
          public Iterable<? extends TT> fun(TT t) {
            return JBIterable.from(tree.fun(t))
              .skipWhile(notInRangeCondition)
              .takeWhile(inRangeCondition);
          }
@Override
          public Iterable<? extends TT> fun(TT t)