public IvyNode[] getUnresolvedDependencies() {
   Collection all = new LinkedHashSet();
   for (Iterator iter = confReports.values().iterator(); iter.hasNext(); ) {
     ConfigurationResolveReport report = (ConfigurationResolveReport) iter.next();
     all.addAll(Arrays.asList(report.getUnresolvedDependencies()));
   }
   return (IvyNode[]) all.toArray(new IvyNode[all.size()]);
 }
 public List getAllProblemMessages() {
   List ret = new ArrayList(problemMessages);
   for (Iterator iter = confReports.values().iterator(); iter.hasNext(); ) {
     ConfigurationResolveReport r = (ConfigurationResolveReport) iter.next();
     IvyNode[] unresolved = r.getUnresolvedDependencies();
     for (int i = 0; i < unresolved.length; i++) {
       String errMsg = unresolved[i].getProblemMessage();
       if (errMsg.length() > 0) {
         ret.add("unresolved dependency: " + unresolved[i].getId() + ": " + errMsg);
       } else {
         ret.add("unresolved dependency: " + unresolved[i].getId());
       }
     }
     ArtifactDownloadReport[] adrs = r.getFailedArtifactsReports();
     for (int i = 0; i < adrs.length; i++) {
       ret.add("download failed: " + adrs[i].getArtifact());
     }
   }
   return ret;
 }