class TransferBDD {

  private BDD matchAsPath(
      TransferParam<BDDRoute> p, Configuration conf, AsPathSetExpr e, BDDRoute other) {
    if (e instanceof NamedAsPathSet) {
      NamedAsPathSet namedAsPathSet = (NamedAsPathSet) e;
      AsPathAccessList accessList = conf.getAsPathAccessLists().get(namedAsPathSet.getName());
      p.debug("Named As Path Set: " + namedAsPathSet.getName());
      return matchAsPathAccessList(accessList, other);
    }
    // TODO: handle other kinds of AsPathSetExprs
    throw new BatfishException("Unhandled match as-path expression " + e);
  }

  public  TransferBDD(Graph g, Configuration conf, List<Statement> statements);

}