@Override
    public AbstractExternalDependency next() {
      AbstractExternalDependency dependency = (AbstractExternalDependency)myToProcess.removeFirst();
      if (mySeenDependencies.add(dependency)) {
        myToProcess.addAll(dependency.myDependencies);
        myProcessedStructure.add(dependency.myDependencies.size());
        return dependency;
      }
      else {
        return next();
      }
    }
@Override
    public AbstractExternalDependency next()