protected abstract BDDDomain createDomain(int a, BigInteger b);
protected BDDDomain createDomain(int a, BigInteger b) { return new BDDDomain(a, b) { public BDDFactory getFactory() { return BDDFactory.this; } }; }
    protected abstract BDDDomain createDomain(int a, BigInteger b);