code: public static final <T> Function<T,T> whileTrue(final IFunction<? super T, Boolean> condition, final IFunction<? super T, T> function) {
          return new WhileDo<T>(true, condition, function);
      }
docs: <p>
  Executes the specified <tt>function</tt> iteratively (first on the target, then
  on the result of the previous iteration) while the result of executing the
  <tt>condition</tt> function on the target object (or the result of the previous
  <tt>function</tt> iteration) is true.
  </p>
  
  @param condition the condition function to be applied
  @param function the function to be executed iteratively
  @return a function executing the specified function iteratively while the condition is true.