code: public void whilst(Precondition condition, final Outcome outcome, final Function function) {
          whilst(condition, outcome, function, -1);
      }
docs: Repeatedly call function, while condition is met. Calls the callback when stopped, or an error occurs.