lojix/wam_prolog/src/main/com/thesett/aima/logic/fol/wam/machine/WAMResolvingJavaMachine.java
private void unwindTrail(int a1, int a2)
    {
        // for i <- a1 to a2 - 1 do
        for (int addr = a1; addr < a2; addr++)
        {
            //  STORE[TRAIL[i]] <- <REF, TRAIL[i]>
            int tmp = data.get(addr);
            data.put(tmp, refTo(tmp));
        }
    }
private void unwindTrail(int a1, int a2)
    {
        // for i <- a1 to a2 - 1 do
        for (int addr = a1; addr < a2; addr++)
        {
            //  STORE[TRAIL[i]] <- <REF, TRAIL[i]>
            int tmp = data.get(addr);
            data.put(tmp, refTo(tmp));
        }
    }
Undoes variable bindings that have been recorded on the 'trail'. Addresses recorded on the trail are reset to REF
to self.

@param a1 The start address within the trail to get the first binding address to clear.
@param a2 The end address within the trail, this is one higher than the last address to clear.