if (!node.isEvicted(node.getRootModuleConf())) { String[] confs = node.getRealConfs(conf); for (int i = 0; i < confs.length; i++) { doFetchDependencies(node, confs[i]); } } } else if (!node.hasProblem()) {
    private void fetchDependencies(IvyNode node, String conf, boolean shouldBePublic) {        long start = System.currentTimeMillis();        Message.debug(node.getId()+" => resolving dependencies in "+conf);        resolveConflict(node, node.getParent());                if (node.loadData(conf, shouldBePublic)) {            node = node.getRealNode(); // if data loading discarded the node, get the real one            resolveConflict(node, node.getParent());            if (!node.isEvicted(node.getRootModuleConf())) {                String[] confs = node.getRealConfs(conf);                for (int i = 0; i < confs.length; i++) {                    doFetchDependencies(node, confs[i]);                }            }        }        if (node.isEvicted(node.getRootModuleConf())) {            // update selected nodes with confs asked in evicted one            IvyNode.EvictionData ed = node.getEvictedData(node.getRootModuleConf());            for (Iterator iter = ed.getSelected().iterator(); iter.hasNext();) {                IvyNode selected = (IvyNode)iter.next();                fetchDependencies(selected, conf, true);            }        }        Message.debug(node.getId()+" => dependencies resolved in "+conf+" ("+(System.currentTimeMillis()-start)+"ms)");    }