public StartupWindowViewModel(ISettingsSerializer settingsSerializer, IProjectLoader projectLoader, IFileOpener<IProject> projectOpener) { Check.IfIsNull(settingsSerializer).Throw<ArgumentNullException>(() => settingsSerializer); Check.IfIsNull(projectLoader).Throw<ArgumentNullException>(() => projectLoader); Check.IfIsNull(projectOpener).Throw<ArgumentNullException>(() => projectOpener); this.projectLoader = projectLoader; this.projectOpener = projectOpener; var settings = settingsSerializer.Read(); recentProjects = settings.RecentProjects; }