'Parse ISUPPORT parameters.
If an unknown parameter is encountered, it is simply added to the
dictionary, keyed by its name, as a tuple of the parameters provided.
@type params: C{iterable} of C{str}
@param params: Iterable of ISUPPORT parameters to parse'

def parse(self, params):

    for param in params:
        (key, value) = self._splitParam(param)
        if key.startswith('-'):
            self._features.pop(key[1:], None)
        else:
            self._features[key] = self.dispatch(key, value)
