anchor.diff:                expectedDeletes,
               ));
   
  +    var changes =
  +        graphEvents.map((data) => WatchEvent(data.type, '${data.id}'));
  +
       return BuildRunnerDaemonBuilder._(
  -        builder, buildOptions, outputStreamController, graphEvents);
  +        builder, buildOptions, outputStreamController, changes);
     }
   }
  
positive.code:       _buildResults.add(daemon.BuildResults((b) => b..results.addAll(results)));
        _logMessage(Level.SEVERE, 'Build Failed:\n${e.toString()}');
      }
      _changesFromLastBuild.clear();
    }
  
    @override
  
negative.code:   @override
    Future<void> build(Set<String> targets, Set<String> logToPaths,
        Iterable<WatchEvent> fileChanges) async {
      var changes = fileChanges
          .map<AssetChange>(
              (change) => AssetChange(AssetId.parse(change.path), change.type))
          .toList();
      _logMessage(Level.INFO, 'About to build $targets...');
      try {
        var mergedChanges = collectChanges([changes]);
        var result =
            await _builder.run(mergedChanges, buildDirs: targets.toList());
        var results = <daemon.BuildResult>[];
  