@classmethod
def copy(cls, pop):
    """ Copy an existing NeuralPop """
    new_pop = cls(parent=pop.parent, with_models=pop.has_models,
        meta_groups=pop.meta_groups)
    for name, group in pop.items():
        new_pop.create_group(group.ids, name, group.model, group.neuron_param)
        new_pop._syn_spec = pop.syn_spec
    return new_pop
