private boolean needConsensusDownload() {
   if (directory.hasPendingConsensus()) {
     return false;
   }
   if (currentConsensus == null || !currentConsensus.isLive()) {
     if (currentConsensus == null) {
       logger.info("Downloading consensus because we have no consensus document");
     } else {
       logger.info("Downloading consensus because the document we have is not live");
     }
     return true;
   }
   return consensusDownloadTime.before(new Date());
 }