docs: protected FieldMetadata processArrayTypeFrom( FieldDeclaration fieldDeclaration ) {
          ArrayType arrayType = (ArrayType)fieldDeclaration.getType();
          FieldMetadata arrayTypeFieldMetadata = null;
          // the element type is never an array type
          Type type = arrayType.getElementType();
          if (type.isPrimitiveType()) {
              PrimitiveType primitiveType = (PrimitiveType)type;
              arrayTypeFieldMetadata = FieldMetadata.arrayType(primitiveType.getPrimitiveTypeCode().toString());
              processModifiersAndVariablesOfFieldDeclaration(fieldDeclaration, arrayTypeFieldMetadata);
              arrayTypeFieldMetadata.setName(getFieldName(fieldDeclaration));
              return arrayTypeFieldMetadata;
  
          }
          // can't be an array type
          if (type.isSimpleType()) {
              SimpleType simpleType = (SimpleType)type;
              arrayTypeFieldMetadata = FieldMetadata.arrayType(JavaMetadataUtil.getName(simpleType.getName()));
              processModifiersAndVariablesOfFieldDeclaration(fieldDeclaration, arrayTypeFieldMetadata);
              arrayTypeFieldMetadata.setName(getFieldName(fieldDeclaration));
              return arrayTypeFieldMetadata;
          }
  
          return null;
      }