code: public synchronized Collection<TaskTrackerStatus> taskTrackers() {
      Collection<TaskTrackerStatus> ttStatuses;
      synchronized (taskTrackers) {
        ttStatuses =
          new ArrayList<TaskTrackerStatus>(taskTrackers.values().size());
        for (TaskTracker tt : taskTrackers.values()) {
          ttStatuses.add(tt.getStatus());
        }
      }
      return ttStatuses;
    }
docs: lock to taskTrackers should hold JT lock first.