anchor.diff:    final Set<JefeProject> directDependencies;
   
     @override
  -  Set<JefeProject> get allDependencies => null;
  +  Set<JefeProject> get allDependencies =>
  +      getDepthFirst(new Set<JefeProject>()).toSet();
   
     @override
     Set<JefeProject> get indirectDependencies =>
  
positive.code: 
    @override
    Iterable<JefeProject> get depthFirst {
      Set<JefeProject> visited = new Set();
      return _rootNodes.expand((n) => n.getDepthFirst(visited));
    }
  
  //  /// The [JefeProject] for the given [projectName]
  
negative.code:         depthFirst, (JefeProject pd) => process(pd, pd.directDependencies));
    }
  
    Iterable<JefeProject> getDepthFirst(Set<JefeProject> visited) {
      final children = _dependencies.expand((n) => n.getDepthFirst(visited));
  
      Iterable us() sync* {
        if (!visited.contains((project))) {
          visited.add(project);
          yield this;
        }
      }
  
      return concat([children, us()]);
    }
  }
  