lojix/wam_prolog/src/main/com/thesett/aima/logic/fol/wam/machine/WAMResolvingJavaMachine.java
private boolean backtrack()
    {
        // if B = bottom_of_stack
        if (bp == 0)
        {
            //  then fail_and_exit_program
            return true;
        }
        else
        {
            // B0 <- STACK[B + STACK[B} + 7]
            b0 = data.get(bp + data.get(bp) + 7);

            // P <- STACK[B + STACK[B] + 4]
            ip = data.get(bp + data.get(bp) + 4);

            return false;
        }
    }
private boolean backtrack()
    {
        // if B = bottom_of_stack
        if (bp == 0)
        {
            //  then fail_and_exit_program
            return true;
        }
        else
        {
            // B0 <- STACK[B + STACK[B} + 7]
            b0 = data.get(bp + data.get(bp) + 7);

            // P <- STACK[B + STACK[B] + 4]
            ip = data.get(bp + data.get(bp) + 4);

            return false;
        }
    }
Backtracks to the continuation label stored in the current choice point frame, if there is one. Otherwise returns
a fail to indicate that there are no more choice points, so no backtracking can be done.

@return <tt>true</tt> iff this is the final failure, and there are no more choice points.