def connect(self, timeout=None):
cls = PlexServer if '<STR_LIT>' in self.provides else PlexClient<EOL>listargs = [[cls, url, self.token, timeout] for url in self.connections]<EOL>log.info('<STR_LIT>', len(listargs))<EOL>results = utils.threaded(_connect, listargs)<EOL>return _chooseConnection('<STR_LIT>', self.name, results)<EOL>
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.