<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 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))