def METHOD_NAME(self,
               lazy=False,
               get_waveforms=True,
               cluster_group=None,
               raw_data_units='uV',
               get_raw_data=False,
               ):
    """
    Reads a block with segments and groups
    Parameters
    ----------
    get_waveforms: bool, default = False
        Wether or not to get the waveforms
    get_raw_data: bool, default = False
        Wether or not to get the raw traces
    raw_data_units: str, default = "uV"
        SI units of the raw trace according to voltage_gain given to klusta
    cluster_group: str, default = None
        Which clusters to load, possibilities are "noise", "unsorted",
        "good", if None all is loaded.
    """
    assert not lazy, 'Do not support lazy'
    blk = Block()
    seg = Segment(file_origin=self.filename)
    blk.segments += [seg]
    for model in self.models:
        group_id = model.channel_group
        group_meta = {'group_id': group_id}
        group_meta.update(model.metadata)
        chx = Group(name='channel group #{}'.format(group_id),
                           index=model.channels,
                           **group_meta)
        blk.groups.append(chx)
        clusters = model.spike_clusters
        for cluster_id in model.cluster_ids:
            meta = model.cluster_metadata[cluster_id]
            if cluster_group is None:
                pass
            elif cluster_group != meta:
                continue
            sptr = self.read_spiketrain(cluster_id=cluster_id,
                                        model=model,
                                        get_waveforms=get_waveforms,
                                        raw_data_units=raw_data_units)
            sptr.annotations.update({'cluster_group': meta,
                                     'group_id': model.channel_group})
            unit = Group(cluster_group=meta,
                         group_id=model.channel_group,
                         name='unit #{}'.format(cluster_id))
            unit.add(sptr)
            chx.add(unit)
            seg.spiketrains.append(sptr)
        if get_raw_data:
            ana = self.read_analogsignal(model, units=raw_data_units)
            chx.add(ana)
            seg.analogsignals.append(ana)
    seg.duration = model.duration * pq.s
    blk.check_relationships()
    return blk