fieldsBuilder.add(constructField(type, lookupColumnByName(messageColumnIO, columnName)));
NamedTypeSignature namedTypeSignature = fields.get(i).getNamedTypeSignature(); String name = namedTypeSignature.getName().get().toLowerCase(Locale.ENGLISH); Optional<Field> field = constructField(parameters.get(i), lookupColumnByName(groupColumnIO, name)); structHasParameters |= field.isPresent(); fieldsBuilder.add(field); return Optional.empty(); Optional<Field> keyField = constructField(mapType.getKeyType(), keyValueColumnIO.getChild(0)); Optional<Field> valueField = constructField(mapType.getValueType(), keyValueColumnIO.getChild(1)); return Optional.of(new GroupField(type, repetitionLevel, definitionLevel, required, ImmutableList.of(keyField, valueField))); return Optional.empty(); Optional<Field> field = constructField(types.get(0), getArrayElementColumn(groupColumnIO.getChild(0))); return Optional.of(new GroupField(type, repetitionLevel, definitionLevel, required, ImmutableList.of(field)));