google-cloud-lib/src/main/java/com/streamsets/pipeline/stage/bigquery/lib/BigQueryDelegate.java
public List<Field> fromRepeatedField(com.google.cloud.bigquery.Field schema,
      List<FieldValue> repeatedValue) {

    if (repeatedValue.isEmpty()) {
      return Collections.emptyList();
    }
    FieldValue.Attribute repeatedFieldType = repeatedValue.get(0).getAttribute();

    BiFunction<com.google.cloud.bigquery.Field, FieldValue, Field> transform =
        transforms.get(repeatedFieldType);
    return repeatedValue
        .stream()
        .map( v -> transform.apply(schema, v))
        .collect(Collectors.toList());
  }
public List<Field> fromRepeatedField(com.google.cloud.bigquery.Field schema,
      List<FieldValue> repeatedValue) {

    if (repeatedValue.isEmpty()) {
      return Collections.emptyList();
    }
    FieldValue.Attribute repeatedFieldType = repeatedValue.get(0).getAttribute();

    BiFunction<com.google.cloud.bigquery.Field, FieldValue, Field> transform =
        transforms.get(repeatedFieldType);
    return repeatedValue
        .stream()
        .map( v -> transform.apply(schema, v))
        .collect(Collectors.toList());
  }
Repeated fields are simply fields that may appear more than once. In SDC we will
represent them as a list field. For example a repeated field of type RECORD would be a
{@link Field.Type#LIST} of
{@link Field.Type#LIST_MAP} and a repeated field of type STRING would be
a {@link Field.Type#LIST} of {@link Field.Type#STRING}.

@param schema The field metadata for the repeated field
@param repeatedValue a list of individual field values that represent the repeated field
@return a list of SDC record fields.
Intended to be used for creating a {@link Field.Type#LIST} {@link Field}