docs: protected Object readListItem(String fieldName, Token t, String fieldMapping, Parser parser) {
          if (t == Token.START_ARRAY) {
              return list(fieldName, fieldMapping, parser);
          }
  
          // handle nested nodes first
          else if (t == Token.START_OBJECT) {
              // Don't need special handling for nested fields since this field is already in an array.
              return map(fieldMapping, parser);
          }
          FieldType esType = mapping(fieldMapping, parser);
  
          if (t.isValue()) {
              String rawValue = parser.text();
              try {
                  return parseValue(parser, esType);
              } catch (Exception ex) {
                  throw new EsHadoopParsingException(String.format(Locale.ROOT, "Cannot parse value [%s] for field [%s]", rawValue, fieldName), ex);
              }
          }
          return null;
      }