@Override
    public boolean onExecute() {
        // TODO: Add wait code.
        double millis = waitTime * 1000.0;
        long start = System.currentTimeMillis();
        try {
            while ((System.currentTimeMillis() - start) < millis) {
                if (busyWait) {
                    for (int i = 0; i < 1000; i++) {
                        ;
                    }
                } else {
                    long rem = (long)(millis - (System.currentTimeMillis() - start));
                    Thread.sleep(rem);
                }
            }
        } catch (InterruptedException ie) {
            // Not critical
        }
        getArg().execute();
        getResult().set(getArg().getResult());
        return true;
    }
Constructs an instance of this class with given argument and wait parameters.

@param arg      The argument for this function.
@param waitTime The time to wait before executing expression.
@param busyWait true if busy wait, false if not.
searchlib/src/main/java/com/yahoo/searchlib/expression/DebugWaitFunctionNode.java