@staticmethod
    def provides_protocol(type_, protocol):

        # We do the 'is' check first as a performance improvement to save us
        # a call to 'issubclass'.
        return type_ is protocol or issubclass(type_, protocol)

    #### 'AdaptationManager' protocol ##########################################
Does the given type provide (i.e implement) a given protocol?
dataset/ETHPy150Open enthought/traits/traits/adaptation/adaptation_manager.py/AdaptationManager.provides_protocol