docs: def getEvents(self, repo_user, repo_name, until_id=None):
          """Get all repository events, following paging, until the end
          or until UNTIL_ID is seen.  Returns a Deferred."""
          done = False
          page = 0
          events = []
          while not done:
              new_events = yield self.api.makeRequest(
                      ['repos', repo_user, repo_name, 'events'],
                      page)
  
              # terminate if we find a matching ID
              if new_events:
                  for event in new_events:
                      if event['id'] == until_id:
                          done = True
                          break
                      events.append(event)
              else:
                  done = True
  
              page += 1
          defer.returnValue(events)