if (lastReturned != null) lastReturned.free();
        public BDD nextBDD() {            if (a == null) {                throw new NoSuchElementException();            }            if (lastReturned != null) lastReturned.free();            lastReturned = f.one();            //for (int i = 0; i < v.length; ++i) {            for (int i = v.length-1; i >= 0; --i) {                int li = v[i];                int vi = f.level2Var(li);                if (b[i] == true) lastReturned.andWith(f.ithVar(vi));                else lastReturned.andWith(f.nithVar(vi));            }            if (!gotoNextA()) {                gotoNext();            }            return lastReturned;        }