public IEnumerable<Change> CalculateChanges()
{
TeamSharperSettings teamSharperSettings = this.teamSharperSettingsSerializer.Load(this.teamSharperSettingsFile);
List<DotSettings> dotSettings = this.dotSettingsSerializer.LoadAll(solutionSearchRootDirectory).ToList();
return dotSettings
.Where(settings => !settings.FileExists || !AreEqual(teamSharperSettings, settings))
.Select(settings => new Change(
string.Format("{0} file '{1}'", settings.FileExists ? "Modifiy" : "Create", settings.FilePath),
() => this.UpdateDotSettings(settings, teamSharperSettings)));
}