anchor.diff:  
     Future traverseElement(DirectoryEntry destRoot, DirectoryEntry sourceRoot,
                     String sourceUri, Map element) {
  -    return handleDirectories(destRoot, sourceRoot, sourceUri, element['directories'])
  -        .then((_) => handleFiles(destRoot, sourceRoot, sourceUri,
  -            element['files']))
  +    return handleDirectories(destRoot, sourceRoot, sourceUri,
  +        element['directories']).then((_) => handleFiles(destRoot,
  +            sourceRoot, sourceUri, element['files']))
           .catchError((e) =>
               print("""error: ${e}"""));
     }
   
  -  Future handleDirectories(DirectoryEntry destRoot, DirectoryEntry sourceRoot, String sourceUri,
  +  Future handleDirectories(DirectoryEntry destRoot, DirectoryEntry sourceRoot,
  +                           String sourceUri,
                              Map directories) {
       if (directories != null) {
         return Future.forEach(directories.keys, (String directoryName) {
  
positive.code: class ProjectBuilder {
    DirectoryEntry _destRoot;
    DirectoryEntry _sourceRoot;
  
negative.code:     return new Future.value();
    }
  
    Future handleFiles(DirectoryEntry destRoot, DirectoryEntry sourceRoot,
                       String sourceUri, List files) {
      if (files != null) {
        return Future.forEach(files, (fileElement) {
          String source = fileElement['source'];
  