def METHOD_NAME(self, all_ext_param):
    """ """
    # list all lhablock
    all_lhablock = set([param.lhablock for param in all_ext_param])
    # ordonate lhablock alphabeticaly
    all_lhablock = list(all_lhablock)
    all_lhablock.sort()
    # put at the beginning SMINPUT + MASS + DECAY
    for name in ['DECAY', 'MASS','SMINPUTS']:
        if name in all_lhablock:
            all_lhablock.remove(name)
            all_lhablock.insert(0, name)
    for lhablock in all_lhablock:
        self.write_block(lhablock)
        need_writing = [ param for param in all_ext_param if \
                                                 param.lhablock == lhablock]
        need_writing.sort(self.order_param)
        [self.write_param(param, lhablock) for param in need_writing]
        if self.generic_output:
            if lhablock in ['MASS', 'DECAY']:
                self.write_dep_param_block(lhablock)
    if self.generic_output:
        self.write_qnumber()