class BDDFiniteDomain {

  public V getValueFromAssignment(BDD bdd) {
    checkArgument(bdd.isAssignment());

    // Exist turns the assignment into just the finite domain.
    V ret = _bddToValue.get(bdd.project(_var.getVars()));
    checkArgument(ret != null, "No value for valid assignment");
    return ret;
  }

  public  BDDFiniteDomain(BDDPacket pkt, String varName, Set<V> values);
    BDDFiniteDomain(BDDInteger var, Set<V> values);

}