if (evictionData.getSelected() != null) { for (Iterator iter = evictionData.getSelected().iterator(); iter.hasNext();) { IvyNode selected = (IvyNode)iter.next(); if (selected.isEvicted(node.getRootModuleConf())) { selected.markSelected(node.getRootModuleConf()); if (debugConflictResolution()) { Message.debug("selecting "+selected+" in "+parent+" due to eviction of "+node); } } } }
    private boolean checkConflictSolved(IvyNode node, IvyNode parent) {        if (parent.getResolvedRevisions(node.getModuleId(), node.getRootModuleConf()).contains(node.getResolvedId())) {            // resolve conflict has already be done with node with the same id            // => job already done, we just have to check if the node wasn't previously evicted in root ancestor            if (debugConflictResolution()) {                Message.debug("conflict resolution already done for "+node+" in "+parent);            }            EvictionData evictionData = node.getEvictionDataInRoot(node.getRootModuleConf(), parent);            if (evictionData != null) {                // node has been previously evicted in an ancestor: we mark it as evicted and ensure selected are selected                if (debugConflictResolution()) {                    Message.debug(node+" was previously evicted in root module conf "+node.getRootModuleConf());                }                if (evictionData.getSelected() != null) {                    for (Iterator iter = evictionData.getSelected().iterator(); iter.hasNext();) {                        IvyNode selected = (IvyNode)iter.next();                        if (selected.isEvicted(node.getRootModuleConf())) {                            selected.markSelected(node.getRootModuleConf());                            if (debugConflictResolution()) {                                Message.debug("selecting "+selected+" in "+parent+" due to eviction of "+node);                            }                        }                    }                }                node.markEvicted(evictionData);                                if (debugConflictResolution()) {                    Message.debug("evicting "+node+" by "+evictionData);                }            }            return true;        } else if (parent.getEvictedRevisions(node.getModuleId(), node.getRootModuleConf()).contains(node.getResolvedId())) {            // resolve conflict has already be done with node with the same id            // => job already done, we just have to check if the node wasn't previously selected in root ancestor            if (debugConflictResolution()) {                Message.debug("conflict resolution already done for "+node+" in "+parent);            }            EvictionData evictionData = node.getEvictionDataInRoot(node.getRootModuleConf(), parent);            if (evictionData == null) {                // node was selected in the root, we have to select it                if (debugConflictResolution()) {                    Message.debug(node+" was previously selected in root module conf "+node.getRootModuleConf());                }                node.markSelected(node.getRootModuleConf());                            if (debugConflictResolution()) {                    Message.debug("selecting "+node+" in "+parent);                }            }            return true;        }        return false;    }