protected BddTree reverseDomain0(BDDDomain d) {
protected void reverseDomain0(BDDDomain d) {
    protected BddTree reverseDomain0(BDDDomain d) {        int n = d.varNum();        BddTree[] trees = new BddTree[n];        for (int i = 0; i < n; ++i) {            int v = d.ivar[i];            addVarBlock(v, v, true);            trees[i] = getBlock(vartree, v, v);        }        for (int i = 0; i < n; ++i) {            for (int j = i + 1; j < n; ++j) {                blockdown(trees[i]);            }        }        return trees[n-1];    }