int length = (p.bitLength() + 7) / 8;
int length = p.bitLength();
    private BigInteger procedure_C(BigInteger p, BigInteger q)    {        BigInteger pSub1 = p.subtract(ONE);        BigInteger pSub1DivQ = pSub1.divide(q);        int length = (p.bitLength() + 7) / 8;        for(;;)        {            BigInteger d = new BigInteger(length, init_random);            // 1 < d < p-1            if (d.compareTo(ONE) > 0 && d.compareTo(pSub1) < 0)            {                BigInteger a = d.modPow(pSub1DivQ, p);                if (a.compareTo(ONE) != 0)                {                    return a;                }            }        }    }