code: public static void waitFor(String description, Supplier<Boolean> condition)
        throws InterruptedException, TimeoutException {
      waitFor(description, condition, WaitForOptions.defaults());
    }
docs: Waits for a condition to be satisfied.
  
  @param description a description of what causes condition to evaluate to true
  @param condition the condition to wait on
  @throws TimeoutException if the function times out while waiting for the condition to be true