private static Row computeRowValues( Map<String, JsonPathToTableExtraction> extractions, Map<String, JsonPathToTableComposition> compositions, JsonPathResult jpResult, TableMetadata tableMetadata) { ObjectNode answerValues = BatfishObjectMapper.mapper().createObjectNode(); computeExtractions(extractions, jpResult, answerValues); doCompositions(compositions, extractions, answerValues); RowBuilder row = Row.builder(); Iterator<String> iterator = answerValues.fieldNames(); while (iterator.hasNext()) { String columnName = iterator.next(); if (tableMetadata.containsColumn(columnName)) { row.put(columnName, answerValues.get(columnName)); } } return row.build(); }