code: protected void handleTrackerAnnounceResponse(TrackerMessage message,
                                                 boolean inhibitEvents, String hexInfoHash) throws AnnounceException {
      if (message instanceof ErrorMessage) {
        ErrorMessage error = (ErrorMessage) message;
        throw new AnnounceException(error.getReason());
      }
  
      if (!(message instanceof AnnounceResponseMessage)) {
        throw new AnnounceException("Unexpected tracker message type " +
                message.getType().name() + "!");
      }
  
  
      AnnounceResponseMessage response =
              (AnnounceResponseMessage) message;
  
      this.fireAnnounceResponseEvent(
              response.getComplete(),
              response.getIncomplete(),
              response.getInterval(),
              hexInfoHash);
  
      if (inhibitEvents) {
        return;
      }
  
      this.fireDiscoveredPeersEvent(
              response.getPeers(),
              hexInfoHash);
    }
docs: Handle the announce response from the tracker.
  
  <p>
  Analyzes the response from the tracker and acts on it. If the response
  is an error, it is logged. Otherwise, the announce response is used
  to fire the corresponding announce and peer events to all announce
  listeners.
  </p>
  
  @param message       The incoming {@link TrackerMessage}.
  @param inhibitEvents Whether or not to prevent events from being fired.