private static MessageType getRequestedSchemaForIndexAccess(
    boolean indexAccess,
    List<String> columnNamesList,
    List<TypeInfo> columnTypesList,
    MessageType fileSchema) {
    if (indexAccess) {
      List<Integer> indexSequence = new ArrayList<Integer>();

      // Generates a sequence list of indexes
      for (int i = 0; i < columnNamesList.size(); i++) {
        indexSequence.add(i);
      }

      return getSchemaByIndex(fileSchema, columnNamesList, indexSequence);
    } else {
      return getSchemaByName(fileSchema, columnNamesList, columnTypesList);
    }
  }
It's used for vectorized code path.
@param indexAccess
@param columnNamesList
@param columnTypesList
@param fileSchema
@param configuration
@return
ql/src/java/org/apache/hadoop/hive/ql/io/parquet/read/DataWritableReadSupport.java