Specific add function for capabilities.

        Takes either:
        - a capability object (derived from ListBase) as the first argument
          from which the capability name is extracted, and the URI if given
        - or a plain name string
        and
        - the URI of the capability

def add_capability(self, capability=None, uri=None, name=None):
        """Specific add function for capabilities.

        Takes either:
        - a capability object (derived from ListBase) as the first argument
          from which the capability name is extracted, and the URI if given
        - or a plain name string
        and
        - the URI of the capability
        """
        if (capability is not None):
            name = capability.capability_name
            if (capability.uri is not None):
                uri = capability.uri
        self.add(Resource(uri=uri, capability=name))