@Override
    public boolean hasNext() {
      AbstractExternalDependency dependency = (AbstractExternalDependency)myToProcess.peekFirst();
      if (dependency == null) return false;
      if (mySeenDependencies.contains(dependency)) {
        myToProcess.removeFirst();
        return hasNext();
      }
      return true;
    }
@Override
    public boolean hasNext()