function find_all_n_possible_contiguous_groupings(list,fixed_dividers,mobile_dividers)
%called by cluster_asynch_based_on_phasic;  recursive, and calls grouper

global complete_list_of_groupings_global

if isempty(fixed_dividers),fdendplusone=1;else fdendplusone=fixed_dividers(end)+1;end

for divider_fixed_at_this_level=fdendplusone:(length(list)-1)-(length(mobile_dividers)-1)
    if length(mobile_dividers)>1
        find_all_n_possible_contiguous_groupings(list,[fixed_dividers divider_fixed_at_this_level],mobile_dividers(2:end));                
    else %if this is the last mobile divider, this is the end of the line, so find the current groupings and apend them to the global variable containing all groupings
        current_groupings=grouper(list,[fixed_dividers divider_fixed_at_this_level]); 
        complete_list_of_groupings_global{end+1}=current_groupings;
    end
end