@Override
  public boolean equals(Object o) {
    if (this == o) {
      return true;
    }
    if (o == null || getClass() != o.getClass()) {
      return false;
    }

    ArrayWritableObjectInspector that = (ArrayWritableObjectInspector) o;

    if (isRoot != that.isRoot ||
      (typeInfo != null ? !typeInfo.equals(that.typeInfo) : that.typeInfo != null) ||
      (fieldInfos != null ? !fieldInfos.equals(that.fieldInfos) : that.fieldInfos != null) ||
      (fieldNames != null ? !fieldNames.equals(that.fieldNames) : that.fieldNames != null) ||
      (fields != null ? !fields.equals(that.fields) : that.fields != null)) {
      return false;
    }

    return true;
  }
The ArrayWritableObjectInspector will inspect an ArrayWritable, considering it as a Hive struct.<br>
It can also inspect a List if Hive decides to inspect the result of an inspection.
ql/src/java/org/apache/hadoop/hive/ql/io/parquet/serde/ArrayWritableObjectInspector.java