def METHOD_NAME(self, parent_dict, location):
    """
    Add the resource elements in the dictionary at the specified location.
    These elements should be deployed in a specific order, with some special handling.
    :param parent_dict: the dictionary possibly containing resource elements
    :param location: the location to deploy the elements
    """
    data_source_deployer = DatasourceDeployer(self.model, self.model_context, self.aliases, self.wlst_mode)
    data_source_deployer.add_data_sources(parent_dict, location)
    common_deployer = CommonResourcesDeployer(self.model, self.model_context, self.aliases, self.wlst_mode)
    common_deployer.add_foreign_jndi_providers(parent_dict, location)
    common_deployer.add_file_stores(parent_dict, location)
    common_deployer.add_jdbc_stores(parent_dict, location)
    common_deployer.add_jms_servers(parent_dict, location)
    common_deployer.add_saf_agents(parent_dict, location)
    common_deployer.add_path_services(parent_dict, location)
    jms_deployer = JmsResourcesDeployer(self.model, self.model_context, self.aliases, self.wlst_mode)
    jms_deployer.add_jms_system_resources(parent_dict, location)
    common_deployer.add_jms_bridge_destinations(parent_dict, location)
    common_deployer.add_jms_bridges(parent_dict, location)
    common_deployer.add_mail_sessions(parent_dict, location)
    wldf_deployer = WldfResourcesDeployer(self.model, self.model_context, self.aliases, self.wlst_mode)
    wldf_deployer.add_wldf_modules(parent_dict, location)
    common_deployer.add_coherence_clusters(parent_dict, location)
    applications_deployer = \
        ApplicationsDeployer(self.model, self.model_context, self.aliases, self.wlst_mode, location)
    applications_deployer.deploy()