'Fetch the sequence of lists for a user. If no user_id or
screen_name is passed, the data returned will be for the
authenticated user.
Args:
user_id (int, optional):
The ID of the user for whom to return results for.
screen_name (str, optional):
The screen name of the user for whom to return results
for.
count (int, optional):
The amount of results to return per page. No more than 1000 results
will ever be returned in a single page. Defaults to 20.
cursor (int, optional):
The "page" value that Twitter will use to start building the list
sequence from. Use the value of -1 to start at the beginning.
Twitter will return in the result the values for next_cursor and
previous_cursor.
Returns:
next_cursor (int), previous_cursor (int), list of twitter.List
instances, one for each list'

def GetListsPaged(self, user_id=None, screen_name=None, cursor=(-1), count=20):

    url = ('%s/lists/ownerships.json' % self.base_url)
    parameters = {}
    if (user_id is not None):
        parameters['user_id'] = enf_type('user_id', int, user_id)
    elif (screen_name is not None):
        parameters['screen_name'] = screen_name
    if (count is not None):
        parameters['count'] = enf_type('count', int, count)
    parameters['cursor'] = enf_type('cursor', int, cursor)
    resp = self._RequestUrl(url, 'GET', data=parameters)
    data = self._ParseAndCheckTwitter(resp.content.decode('utf-8'))
    next_cursor = data.get('next_cursor', 0)
    previous_cursor = data.get('previous_cursor', 0)
    lists = [List.NewFromJsonDict(x) for x in data.get('lists', [])]
    return (next_cursor, previous_cursor, lists)
