def METHOD_NAME(self, sim, n_neurons, label,
                      spike_rate=None, spike_rec_indexes=None,
                      v_rate=None, v_rec_indexes=None):
    v_start = self.V_PATTERN * int(math.ceil(n_neurons/self.V_COUNT))
    v_start = v_start[:n_neurons]
    pop = sim.Population(n_neurons,
                         sim.IF_curr_exp(i_offset=1, tau_refrac=0),
                         label=label)
    pop.initialize(v=v_start)
    if spike_rec_indexes is None:
        pop.record(['spikes'], sampling_interval=spike_rate)
    else:
        view = PopulationView(pop, spike_rec_indexes)
        view.record(['spikes'], sampling_interval=spike_rate)
    if v_rec_indexes is None:
        pop.record(['v'], sampling_interval=v_rate)
    else:
        view = PopulationView(pop, v_rec_indexes)
        view.record(['v'], sampling_interval=v_rate)
    return pop