class SpecifiersAnswerer extends Answerer {

  @VisibleForTesting
  static TableAnswerElement resolveIpSpace(SpecifiersQuestion question, SpecifierContext context) {
    List<ColumnMetadata> columns =
        ImmutableList.of(new ColumnMetadata(COL_IP_SPACE, Schema.STRING, "IP space", false, false));
    TableAnswerElement table = new TableAnswerElement(new TableMetadata(columns));
    Map<String, ColumnMetadata> columnMap = table.getMetadata().toColumnMap();

    // this will yield all default locations for the factory
    Set<Location> locations = question.getLocationSpecifier().resolve(context);
    IpSpaceAssignment ipSpaceAssignment =
        question.getIpSpaceSpecifier().resolve(locations, context);

    for (IpSpaceAssignment.Entry entry : ipSpaceAssignment.getEntries()) {
      table.addRow(Row.of(columnMap, COL_IP_SPACE, Objects.toString(entry.getIpSpace())));
    }
    return table;
  }

  public  SpecifiersAnswerer(Question question, IBatfish batfish);

}