private PartitionFieldNode createIfNotExists(Map<String, PartitionFieldNode> nestedNodes,
      String fieldName) {
    PartitionFieldNode currentNode = nestedNodes.computeIfAbsent(fieldName, k -> {
      if (multiValuedFieldSetters.containsKey(fieldName)) {
        return new PartitionFieldNode(fieldName, true);
      } else {
        return new PartitionFieldNode(fieldName);
      }
    });
    return currentNode;
  }
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