def get_results_paths_for_variables(model, method_props, variables, target_sbml_id_map, target_sbml_fbc_id_map):
    """ Get the path to results for the desired variables

    Args:
        model (:obj:`cbmpy.CBModel.Model`): model
        method_props (:obj:`dict`): properties of desired simulation method
        variables (:obj:`list` of :obj:`Variable`): variables that should be recorded
        target_sbml_id_map (:obj:`dict` of :obj:`str` to :obj:`str`): dictionary that maps each XPath to the
            SBML id of the corresponding model object
        target_sbml_fbc_id_map (:obj:`dict` of :obj:`str` to :obj:`str`): dictionary that maps each XPath to the
            SBML-FBC id of the corresponding model object

    Returns:
        :obj:`dict`: path to results of desired variables
    """
    possible_target_results_path_map = {}
    for variable_pattern in method_props['variables']:
        for sbml_id, fbc_id, attr, result_type, result_name in variable_pattern['get_target_results_paths'](model):
            possible_target_results_path_map[(sbml_id, fbc_id, attr)] = (result_type, result_name)

    target_results_path_map = {}
    for variable in variables:
        target = variable.target
        variable_target_id = target_sbml_id_map[target]
        variable_target_fbc_id = target_sbml_fbc_id_map[target]
        target_attr = target.partition('/@')[2].rpartition(':')[2] or None
        target_results_path_map[variable.target] = possible_target_results_path_map[(
            variable_target_id, variable_target_fbc_id, target_attr)]

    return target_results_path_map