anchor.diff:    Future executeAll(CompositeProjectCommand composite,
         {CommandConcurrencyMode concurrencyMode: CommandConcurrencyMode.concurrentCommand,
         ProjectFilter filter: _noOpFilter}) async {
  +    final _filter = filter != null ? filter : _noOpFilter;
       if (concurrencyMode != CommandConcurrencyMode.serial &&
           composite.commands
               .every((c) => c.concurrencyMode != CommandConcurrencyMode.serial)) {
  -      return _executeAllOnConcurrentProjects(composite, filter);
  +      return _executeAllOnConcurrentProjects(composite, _filter);
       } else {
  -      return _executeSerially(composite, filter);
  +      return _executeSerially(composite, _filter);
       }
   
       // TODO: add support for concurrentCommand
  
positive.code: 
    Future execute(ProjectCommand command,
        {ProjectFilter filter: _noOpFilter}) async {
      return await _processDependenciesDepthFirst((Project project,
          Iterable<Project> dependencies) async {
        if (filter(project)) {
          return await command.process(project, dependencies: dependencies);
        }
      });
  
negative.code:   @override
    Future executeOnGraph(ProjectDependencyGraphCommand command,
        {ProjectFilter filter: _noOpFilter}) async {
      final _filter = filter != null ? filter : _noOpFilter;
      final DependencyGraph graph =
          await getDependencyGraph(await _projectGroup.allProjects);
      return await command.process(
          graph, _projectGroup.containerDirectory, _filter);
    }
  }
  
  