code: public Collection<String> getDeadNodes() {
      List<String> activeHosts = new ArrayList<String>();
      synchronized(taskTrackers) {
        for (TaskTracker tt : taskTrackers.values()) {
          activeHosts.add(tt.getStatus().getHost());
        }
      }
      // dead hosts are the difference between active and known hosts
      // We don't consider a blacklisted host to be dead.
      Set<String> knownHosts = new HashSet<String>(hostsReader.getHosts());
      knownHosts.removeAll(activeHosts);
      // Also remove the excluded nodes as getHosts() returns them as well
      knownHosts.removeAll(hostsReader.getExcludedHosts());
      Set<String> deadHosts = knownHosts;
      return deadHosts;
    }
docs: Returns a set of dead nodes. (nodes that are expected to be alive)