def _generateParams(param_dict):
    """
    Will take a dictionary, where *potentially* some values are lists. Will return a list of dictionaries
    with no lists, where each possible list member combination is included.
    """
    keys = param_dict.keys()
    list_key = None
    for key in keys:
        if isinstance(param_dict[key], list):
            list_key = key
            break
    if list_key is None:
        return [param_dict]
    new_dics = []
    for list_val in param_dict[list_key]:
        new_dict = {}
        for key in keys:
            if key is not list_key:
                new_dict[key] = param_dict[key]
            else:
                new_dict[key] = list_val
        new_dics.append(new_dict)
    ret = []
    for dic in new_dics:
        ret += _generateParams(dic)
    return ret