if (!isSuspended() && !isStopped()) { T stepToExecute = step.get(); if (stepToExecute != null) { if (log.isDebugEnabled()) { log.debug("About to execute step: " + stepToExecute);
while (!isStopped()) { try { T stepToExecute = queue.poll(); if (stepToExecute != null) { if (log.isDebugEnabled()) { log.debug("About to execute step: " + stepToExecute); } interpreter.executeStep(stepToExecute, this);
    public void run() {        if (!isSuspended() && !isStopped()) {            T stepToExecute = step.get();            if (stepToExecute != null) {                if (log.isDebugEnabled()) {                    log.debug("About to execute step: " + stepToExecute);                }                                interpreter.executeStep(stepToExecute, this);                nextStep();            }        }    }