'Parse the ISUPPORT "CHANMODES" parameter.
See L{isupport_CHANMODES} for a detailed explanation of this parameter.'

@classmethod
def _parseChanModesParam(self, params):

    names = ('addressModes', 'param', 'setParam', 'noParam')
    if (len(params) > len(names)):
        raise ValueError(('Expecting    a    maximum    of    %d    channel    mode    parameters,    got    %d' % (len(names), len(params))))
    items = map((lambda key, value: (key, (value or ''))), names, params)
    return dict(items)
