class EdgesAnswerer extends Answerer {

  @VisibleForTesting
  static List<Row> getOspfEdges(
      Set<String> includeNodes, Set<String> includeRemoteNodes, OspfTopology topology) {
    ImmutableSet.Builder<Row> rows = ImmutableSet.builder();
    topology
        .getGraph()
        .edges()
        .forEach(
            p -> {
              OspfNeighborConfigId sourceId = p.source();
              OspfNeighborConfigId targetId = p.target();
              String hostname = sourceId.getHostname();
              String remoteHostname = targetId.getHostname();
              if (!includeNodes.contains(hostname)
                  || !includeRemoteNodes.contains(remoteHostname)) {
                return;
              }
              rows.add(
                  getOspfEdgeRow(
                      hostname,
                      sourceId.getInterfaceName(),
                      remoteHostname,
                      targetId.getInterfaceName()));
            });
    return ImmutableList.copyOf(rows.build());
  }

    EdgesAnswerer(Question question, IBatfish batfish);

}