return dependencies;
Collection deps = new HashSet(); for (int i = 0; i < confs.length; i++) { deps.addAll(getDependencies(confs[i], false)); } return deps;
    public Collection getDependencies(String conf, boolean traverse) {        if (_md == null) {            throw new IllegalStateException("impossible to get dependencies when data has not been loaded");        }        DependencyDescriptor[] dds = _md.getDependencies();        Collection dependencies = new LinkedHashSet(); // it's important to respect dependencies order        for (int i = 0; i < dds.length; i++) {            DependencyDescriptor dd = dds[i];            String[] dependencyConfigurations = dd.getDependencyConfigurations(conf);            if (dependencyConfigurations.length == 0) {                // no configuration of the dependency is required for current confs :                 // it is exactly the same as if there was no dependency at all on it                continue;            }             IvyNode depNode = _data.getNode(dd.getDependencyRevisionId());            if (depNode == null) {                depNode = new IvyNode(_data, dd);            } else if (depNode.hasProblem()) {                // dependency already tried to be resolved, but unsuccessfully                // nothing special to do                            }            Collection confs = Arrays.asList(resolveSpecialConfigurations(dependencyConfigurations, depNode));            depNode.updateConfsToFetch(confs);            depNode.setRequiredConfs(this, conf, confs);                        depNode.addCaller(_rootModuleConf, _md, _md.getModuleRevisionId(), conf, dependencyConfigurations, dd.getDependencyRevisionId());            dependencies.add(depNode);            if (traverse) {                depNode.setParent(this);                depNode.setParentConf(conf);                depNode.setRootModuleConf(getRootModuleConf());                depNode._data = _data;            }        }        return dependencies;    }