public Seq<C> takeWhile(Predicate<C> condition){
  Objects.requireNonNull(condition);
  Itr itr=new Itr();
  MutableSeq<C> seq=Seqs.newMutableSeq();
  while (itr.hasNext()) {
    C candidate=itr.next();
    if (!condition.test(candidate)) {
      break;
    }
    seq.appendInPlace(candidate);
  }
  return seq;
}

public Seq < C > takeWhile ( Predicate < C > condition ) { Objects . requireNonNull ( condition ) ; Itr itr = new Itr ( ) ; MutableSeq < C > seq = Seqs . newMutableSeq ( ) ; while ( itr . hasNext ( ) ) { C candidate = itr . next ( ) ; if ( ! condition . test ( candidate ) ) { break ; } seq . appendInPlace ( candidate ) ; } return seq ; }
get elements at the front of this range which satisfy the condition .
