@Override
  public List<?> getList(final Object data) {
    if (data == null) {
      return null;
    }

    if (data instanceof ArrayWritable) {
      final Writable[] array = ((ArrayWritable) data).get();
      if (array == null) {
        return null;
      }
      return new ArrayList<Writable>(Arrays.asList(array));
    }

    if (data instanceof List) {
      return (List<?>)data;
    }

    throw new UnsupportedOperationException("Cannot inspect " + data.getClass().getCanonicalName());
  }
The ParquetHiveArrayInspector will inspect an ArrayWritable, considering it as an Hive array.<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/ParquetHiveArrayInspector.java