class EdgesAnswerer extends Answerer {

  @VisibleForTesting
  static Row layer3EdgeToRow(Map<String, Configuration> configurations, Edge edge) {
    Interface interface1 =
        configurations.get(edge.getNode1()).getAllInterfaces().get(edge.getInt1());
    Interface interface2 =
        configurations.get(edge.getNode2()).getAllInterfaces().get(edge.getInt2());
    Set<Ip> ips1 =
        interface1.getAllConcreteAddresses().stream()
            .filter(Objects::nonNull)
            .map(ConcreteInterfaceAddress::getIp)
            .collect(Collectors.toSet());
    Set<Ip> ips2 =
        interface2.getAllConcreteAddresses().stream()
            .filter(Objects::nonNull)
            .map(ConcreteInterfaceAddress::getIp)
            .collect(Collectors.toSet());

    RowBuilder row = Row.builder();
    row.put(COL_INTERFACE, NodeInterfacePair.of(edge.getNode1(), edge.getInt1()))
        .put(COL_IPS, ips1)
        .put(COL_REMOTE_INTERFACE, NodeInterfacePair.of(edge.getNode2(), edge.getInt2()))
        .put(COL_REMOTE_IPS, ips2);

    return row.build();
  }

    EdgesAnswerer(Question question, IBatfish batfish);

}