def get_upstream(self, type_):
        '''Return self, or an upstream, that has the given class type.
        This is typically used to find upstream s that impoement the RemoteInterface
        '''

        if isinstance(self, type_):
            return self
        elif self.upstream and isinstance(self.upstream, type_):
            return self.upstream
        elif self.upstream:
            return self.upstream.get_upstream(type_)
        else:
            return None
def get_upstream ( self , type_ ) : if isinstance ( self , type_ ) : return self elif self . upstream and isinstance ( self . upstream , type_ ) : return self . upstream elif self . upstream : return self . upstream . get_upstream ( type_ ) else : return None
Return self, or an upstream, that has the given class type.
        This is typically used to find upstream s that impoement the RemoteInterface