class LpmRoutesAnswerer extends Answerer {

  @VisibleForTesting
  static <T extends AbstractRouteDecorator> Optional<Row> toRow(
      Set<T> routes, String node, String vrf, Ip ip, Map<String, ColumnMetadata> columnMap) {
    if (routes.isEmpty()) {
      return Optional.empty();
    }
    Prefix network = routes.iterator().next().getNetwork();
    return Optional.of(
        Row.builder(columnMap)
            .put(COL_NODE, new Node(node))
            .put(COL_VRF, vrf)
            .put(COL_IP, ip)
            .put(COL_NETWORK, network)
            .put(COL_NUM_ROUTES, routes.size())
            .build());
  }

  public  LpmRoutesAnswerer(Question question, IBatfish batfish);

}