class BDDPrefix {

  public @Nonnull BDD inPrefixRange(PrefixRange prefixRange) {
    Prefix p = prefixRange.getPrefix();
    BDD prefixMatch = firstBitsEqual(p.getStartIp(), p.getPrefixLength());

    SubRange r = prefixRange.getLengthRange();
    int lower = r.getStart();
    int upper = r.getEnd();
    BDD lenMatch = _prefixLength.range(lower, upper);

    return lenMatch.and(prefixMatch);
  }

  public  BDDPrefix(BDDInteger ip, BDDInteger prefixLength);

}