bddnodesize = newsize; resize_handler(oldsize, bddnodesize);
resize_handler(oldsize, newsize);
    int doResize(boolean doRehash, int oldsize, int newsize) {                newsize = bdd_prime_lte(newsize);        if (oldsize > newsize) return 0;        if (newsize >= NODE_MASK) newsize = NODE_MASK-1;                bddnodesize = newsize;        resize_handler(oldsize, bddnodesize);                int[] newnodes;        int n;        newnodes = new int[bddnodesize*__node_size];        System.arraycopy(bddnodes, 0, newnodes, 0, bddnodes.length);        bddnodes = newnodes;        if (doRehash)            for (n = 0; n < oldsize; n++)                SETHASH(n, 0);        for (n = oldsize; n < bddnodesize; n++) {            SETLOW(n, INVALID_BDD);            SETNEXT(n, n+1);        }        SETNEXT(bddnodesize-1, bddfreepos);        bddfreepos = oldsize;        bddfreenum += bddnodesize - oldsize;        if (doRehash)            bdd_gbc_rehash();        bddresized = true;        return 0;    }