private static void validate(Collection<String> projectionFields) throws MetaException {
    Set<String> verify = new HashSet<>(projectionFields);
    verify.removeAll(allPartitionFields);
    if (verify.size() > 0) {
      throw new MetaException("Invalid partition fields in the projection spec" + Arrays
          .toString(verify.toArray(new String[verify.size()])));
    }
  }
if top level field name is given expand the top level field such that all the children
of that node are added to the projection list. eg. if only "sd" is provided in the projection
list, it means all the nested fields for sd should be added to the projection fields
@param projectionList
@return
standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/PartitionProjectionEvaluator.java