public void Process(SolutionFile solutionFile) {
     foreach (var project in solutionFile.Projects.ToList()) {
         if (!filter.ShouldApply(project)) {
             solutionFile.Remove(project);
         }
     }
 }
 public void Process(SolutionFile solutionFile)
 {
     foreach (var command in underlying)
     {
         command.Process(solutionFile);
     }
 }
 public void Process(SolutionFile solutionFile)
 {
     foreach (var project in solutionFile.Projects.Where(filter.ShouldApply))
     {
         transform.ApplyTransform(project.XmlFile);
     }
 }
 public ExternalSolutionApi(SolutionFile solutionFile)
 {
     this.solutionFile = solutionFile;
 }
 public SolutionTransformer(SolutionFile solutionFile)
 {
     this.solutionFile = solutionFile;
 }
 public void Process(SolutionFile solutionFile)
 {
     throw new NotImplementedException();
 }