anchor.diff:    Future/*<T>*/ processAllSerially/*<T>*/(ProjectFunction/*<T>*/ command,
             {ProjectFilter filter, Combiner/*<T>*/ combine}) =>
         processDepthFirst(command, filter: filter, combine: combine);
  +
  +  @override
  +  GitCommands get git => defaultMultiProjectCommands.git;
  +
  +  @override
  +  GitFeatureCommands get gitFeature => defaultMultiProjectCommands.gitFeature;
  +
  +  @override
  +  PubSpecCommands get pubspecCommands =>
  +      defaultMultiProjectCommands.pubspecCommands;
  +
  +  @override
  +  PubCommands get pub => defaultMultiProjectCommands.pub;
  +
  +  @override
  +  ProjectLifecycle get lifecycle => defaultMultiProjectCommands.lifecycle;
  +
  +  @override
  +  ProcessCommands get processCommands =>
  +      defaultMultiProjectCommands.processCommands;
  +
  +  @override
  +  MultiProjectCommands multiProjectCommands(
  +      {CommandConcurrencyMode defaultConcurrencyMode,
  +      ProjectFilter projectFilter}) {
  +    return new MultiProjectCommands(
  +        createGitCommands(this,
  +            multiProject: true,
  +            defaultConcurrencyMode: defaultConcurrencyMode,
  +            projectFilter: projectFilter),
  +        createGitFeatureCommands(this,
  +            multiProject: true,
  +            defaultConcurrencyMode: defaultConcurrencyMode,
  +            projectFilter: projectFilter),
  +        createPubSpecCommands(this,
  +            multiProject: true,
  +            defaultConcurrencyMode: defaultConcurrencyMode,
  +            projectFilter: projectFilter),
  +        createPubCommands(this,
  +            multiProject: true,
  +            defaultConcurrencyMode: defaultConcurrencyMode,
  +            projectFilter: projectFilter),
  +        createProjectLifecycle(this,
  +            multiProject: true,
  +            defaultConcurrencyMode: defaultConcurrencyMode,
  +            projectFilter: projectFilter),
  +        createProcessCommands(this,
  +            multiProject: false,
  +            defaultConcurrencyMode: defaultConcurrencyMode,
  +            projectFilter: projectFilter),
  +        createDockerCommands(this,
  +            installDirectory, // TODO: not sure if it is this or the container dir
  +            multiProject: false));
  +  }
  +
  +  MultiProjectCommands _defaultMultiProjectCommands;
  +//  @override
  +  MultiProjectCommands get defaultMultiProjectCommands =>
  +      _defaultMultiProjectCommands ??= multiProjectCommands();
   }
   
   bool _noOpFilter(Project p) => true;
  
positive.code: 
      return _singleProjectCommands ??= create();
    }
  
    MultiProjectCommands _defaultMultiProjectCommands;
  //  @override
    MultiProjectCommands get defaultMultiProjectCommands =>
        _defaultMultiProjectCommands ??= multiProjectCommands();
  
    @override
    MultiProjectCommands multiProjectCommands(
        {CommandConcurrencyMode defaultConcurrencyMode,
        ProjectFilter projectFilter}) {
      return new MultiProjectCommands(
          createGitCommands(this,
              multiProject: true,
              defaultConcurrencyMode: defaultConcurrencyMode,
              projectFilter: projectFilter),
          createGitFeatureCommands(this,
              multiProject: true,
              defaultConcurrencyMode: defaultConcurrencyMode,
              projectFilter: projectFilter),
          createPubSpecCommands(this,
              multiProject: true,
              defaultConcurrencyMode: defaultConcurrencyMode,
              projectFilter: projectFilter),
          createPubCommands(this,
              multiProject: true,
              defaultConcurrencyMode: defaultConcurrencyMode,
              projectFilter: projectFilter),
          createProjectLifecycle(this,
              multiProject: true,
              defaultConcurrencyMode: defaultConcurrencyMode,
              projectFilter: projectFilter),
          createProcessCommands(this,
              multiProject: false,
              defaultConcurrencyMode: defaultConcurrencyMode,
              projectFilter: projectFilter),
          createDockerCommands(this,
              installDirectory, // TODO: not sure if it is this or the container dir
              multiProject: false));
    }
  }
  
  class JefeProjectSetImpl extends DelegatingSet<JefeProject>
  
negative.code:           ? new Some<JefeProject>(this)
            : directDependencies.getProjectByName(projectName);
  
    ProjectCommands _singleProjectCommands;
    @override
    ProjectCommands get singleProjectCommands {
  