code: public static <T> LazyIterable<T> select(Iterable<T> iterable, Predicate<? super T> predicate)
      {
          return new SelectIterable<T>(iterable, predicate);
      }
docs: Creates a deferred filtering iterable for the specified iterable