code: def connect(self, timeout=None):
          
          cls = PlexServer if 'server' in self.provides else PlexClient
          listargs = [[cls, url, self.token, timeout] for url in self.connections]
          log.info('Testing %s device connections..', len(listargs))
          results = utils.threaded(_connect, listargs)
          return _chooseConnection('Device', self.name, results)
docs: Returns a new :class:`~plexapi.client.PlexClient` or :class:`~plexapi.server.PlexServer`
              Sometimes there is more than one address specified for a server or client.
              After trying to connect to all available addresses for this client and assuming
              at least one connection was successful, the PlexClient object is built and returned.
  
              Raises:
                  :class:`plexapi.exceptions.NotFound`: When unable to connect to any addresses for this device.