@Override
    public ExternalDependency next() {
      ExternalDependency dependency = queue.remove();
      queue.addAll(dependency.getDependencies());
      return dependency;
    }
@Override
    public ExternalDependency next()