@@ -0,0 +1,853 @@
+package io.pivotal.macchiato.waits;%0A%0Aimport java.util.concurrent.Callable;%0Aimport java.util.concurrent.TimeoutException;%0A%0Apublic class Waits %7B%0A%0A    public static boolean throwsException(Runnable runnable) %7B%0A        try %7B%0A            runnable.run();%0A            return false;%0A        %7D catch (Exception e) %7B%0A           return true;%0A        %7D%0A    %7D%0A%0A    public static void waitFor(Callable%3CBoolean%3E predicate, long timeout) throws Exception %7B%0A        long startTime = System.currentTimeMillis();%0A%0A        while (!predicate.call()) %7B%0A            if (System.currentTimeMillis() - startTime %3C timeout) %7B%0A                Thread.sleep(500);%0A            %7D else %7B%0A                throw new TimeoutException();%0A            %7D%0A        %7D%0A    %7D%0A%0A    public static void waitFor(Callable%3CBoolean%3E predicate) throws Exception %7B%0A        waitFor(predicate, 2000);%0A    %7D%0A%7D%0A

Add wait helpers