code: void synchronizeFromFollower(String peerId)
        throws IOException, TimeoutException, InterruptedException {
      LOG.debug("Begins synchronizing from follower {}.", peerId);
      Zxid lastZxid = persistence.getLatestZxid();
      Message pullTxn = MessageBuilder.buildPullTxnReq(lastZxid);
      LOG.debug("Last zxid of {} is {}", this.serverId, lastZxid);
      sendMessage(peerId, pullTxn);
      // Waits until the synchronization is finished.
      waitForSync(peerId);
    }
docs: Pulls the history from the server who has the "best" history.
  
  @param peerId the id of the server whose history is selected.