public boolean continueUntilFinished() {
        while (running) {
            if (!stepInPending && !stepOutPending && !stepOverPending) {
                savedEnvironmentStackSize = environmentStack.size();
            }
            ByteCode code = program.getCode(pc);
            code.execute(this);
            this.checkForBreaksAndSteps(code);
            if (dumping && code.getClass() != DumpCode.class) {
                System.out.println(code);
                runStack.dump();
            }
            pc++;
        }
        if (executionFinished) {
            return false;
        }
        return true;
    }