def run_bqm_and_collect_solutions(bqm, sampler, potential_new_cs_nodes, **kwargs):
    """Solve the bqm with the provided sampler to find new charger locations. 
    
    Args:
        bqm (BinaryQuadraticModel): The QUBO model for the problem instance
        sampler: Sampler or solver to be used
        potential_new_cs_nodes (list of tuples of ints): 
            Potential new charging locations
        **kwargs: Sampler-specific parameters to be used
    
    Returns:
        new_charging_nodes (list of tuples of ints): 
            Locations of new charging stations
    """

    sampleset = sampler.sample(bqm,
                               label='Example - EV Charger Placement',
                               **kwargs)

    ss = sampleset.first.sample
    new_charging_nodes = [potential_new_cs_nodes[k] for k, v in ss.items() if v == 1]

    return new_charging_nodes