anchor.diff:          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()]);
  -//  }
  +  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()]);
  +  }
   }
  
positive.code:   final Set<JefeProject> directDependencies;
  
    @override
    Set<JefeProject> get allDependencies => null;
  
    @override
    Set<JefeProject> get indirectDependencies =>
  
negative.code: 
    @override
    Iterable<JefeProject> get depthFirst {
      final visited = new Set<JefeProject>();
      return _rootNodes.expand((n) => n._getDepthFirst(visited));
    }
  
  //  /// The [JefeProject] for the given [projectName]
  