<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:

def _build_parent_list(policy_definition,
                       return_full_policy_names,
                       adml_language):
    '''
    helper function to build a list containing parent elements of the ADMX
    policy
    '''
    parent_list = []
    policy_namespace = list(policy_definition.nsmap.keys())[0]
    parent_category = policy_definition.xpath(
        '{0}:parentCategory/@ref'.format(policy_namespace),
        namespaces=policy_definition.nsmap)
    admx_policy_definitions = _get_policy_definitions(language=adml_language)
    if parent_category:
        parent_category = parent_category[0]
        nsmap_xpath = '/policyDefinitions/policyNamespaces/{0}:*' \
                      ''.format(policy_namespace)
        this_namespace_map = _buildElementNsmap(
            admx_policy_definitions.xpath(
                nsmap_xpath, namespaces=policy_definition.nsmap))
        this_namespace_map = dictupdate.update(this_namespace_map,
                                               policy_definition.nsmap)
        parent_list = _admx_policy_parent_walk(
            path=parent_list,
            policy_namespace=policy_namespace,
            parent_category=parent_category,
            policy_nsmap=this_namespace_map,
            return_full_policy_names=return_full_policy_names,
            adml_language=adml_language)
    return parent_list