def add_grouping(state_collection, grouping_name, loaded_processes,
    overriding_parameters=None):
    """
    Adds a grouping to a state collection by using the process selected by the grouping name
    
    Does not override existing groupings
    """
    if (grouping_name not in state_collection.groupings and 
        loaded_processes != None and loaded_processes['grouping_selector'].
        get(grouping_name) != None):
        state_collection = loaded_processes['grouping_selector'][grouping_name
            ].process_function(state_collection, overriding_parameters)
    return state_collection
