code: @SuppressWarnings({"rawtypes", "unchecked"})
    List<Object> mapRepeatedFieldToListOfValues(Field field, Object fieldValue) {
      Class<?> fieldType = getParameterTypeOfRepeatedField(field);
      Collection fieldToMap = null;
      if (isCollection(field.getType())) {
        fieldToMap = (Collection) fieldValue;
      } else if (field.getType().isArray()) {
        fieldToMap = Arrays.asList((Object[]) fieldValue);
      }
  
      List<Object> toRet = Lists.newArrayListWithCapacity(fieldToMap.size());
      if (isSimpleBigQueryType(fieldType)) {
        for (Object o : fieldToMap) {
          toRet.add(o);
        }
      } else {
        for (Object o : fieldToMap) {
          toRet.add(mapFieldNameToValue(o));
        }
      }
      return toRet;
    }
docs: Converts the input object into a nested map of field name to field value. Recursively breaks
  down complex field types to simple Bigquery types as listed in {@link BigQueryDataTypeUtil}.
  Uses reflection to infer the type and value of fields. Only accessible fields are marshalled.
  Fields annotated with {@link BigQueryIgnore} are ignored.
  
  @param field {@link Field} to map to list of repeated values
  @param fieldValue value of the field to resolve
  @return a nested map of field name to field value.