if(getDeconflictHelper() != null) {
if(isDeconflictionEnabled()) {
    public void enter(String name) {      logger.info("New state (DEAD):" +                  " name=" + name +                  " preferredLeader=" + thisAgent.equals(preferredLeader()) +                  " isAgent=" + isAgent(name));      communityReady = false; // For ACME Community Ready Events      if (isAgent(name) && thisAgent.equals(preferredLeader())) {        // Interface point for Deconfliction        // If Ok'd by Deconflictor set state to RESTART        if(getDeconflictHelper() != null) {          newState(name, DECONFLICT);        } else {            newState(name, RESTART);        }      } else if (isNode(name) && thisAgent.equals(preferredLeader())) {        removeFromCommunity(name);        setExpiration(name, NEVER);        deadNodes.add(name);        String agentsOnDeadNode[] = model.entitiesAtLocation(name);        for (int i = 0; i < agentsOnDeadNode.length; i++) {          newState(agentsOnDeadNode[i], HEALTH_CHECK);        }        if (thisAgent.equals(preferredLeader()) && useGlobalSolver()) {          List excludedNodes = new ArrayList(getExcludedNodes());          LoadBalancerListener lbl = new LoadBalancerListener() {            public void layoutReady(Map layout) {              logger.info("layout from EN4J: " + layout);              RestartDestinationLocator.setPreferredRestartLocations(layout);            }          };          if (!newNodes.isEmpty()) {            for (Iterator it = newNodes.iterator(); it.hasNext(); ) {              String newNode = (String)it.next();              if (!isVacantNode(newNode) ||                  excludedNodes.contains(newNode) ||                  deadNodes.contains(newNode)) {                it.remove();              }            }          }          long pingTimeout = getLongAttribute(name, "PING_TIMEOUT", PING_TIMEOUT);          // Use ping timeout to calculate annealTime:          //  - convert ms to secs          //  - divide by 2 to provide some margin          //  - divide by 9 for EN multi-pass          long annealTime = pingTimeout > 0 ? pingTimeout/1000/2/9 : LoadBalancer.DEFAULT_ANNEAL_TIME;          //long annealTime = LoadBalancer.DEFAULT_ANNEAL_TIME;          logger.debug("Get restart destinations from LoadBalancer");          getLoadBalancer().doLayout((int)annealTime,                                     true,                                     new ArrayList(newNodes),                                     new ArrayList(deadNodes),                                     new ArrayList(getExcludedNodes()),                                     lbl);          newNodes.clear();          //deadNodes.clear();        }      } else if (isLocal(name)) {        stopHeartbeats(name);      }    }