String concreteJavaType(HeaderGenerator headerGenerator,
                            StructRegistry structRegistry) {
        if (type.isArray()) {
            FieldType.ArrayType arrayType = (FieldType.ArrayType) type;
            if (structRegistry.isStructArrayWithKeys(this)) {
                return collectionType(arrayType.elementType().toString());
            } else {
                headerGenerator.addImport(MessageGenerator.ARRAYLIST_CLASS);
                return String.format("ArrayList<%s>",
                    arrayType.elementType().getBoxedJavaType(headerGenerator));
            }
        } else {
            return fieldAbstractJavaType(headerGenerator, structRegistry);
        }
    }
Get the concrete Java type of the field-- for example, ArrayList.

@param headerGenerator   The header generator in case we need to add imports.
@param structRegistry    The struct registry in case we need to look up structs.

@return                  The abstract java type name.
generator/src/main/java/org/apache/kafka/message/FieldSpec.java