public IMoBiProject Load(IMoBiContext context) { var projectFromDb = projectFromDatabase(); if (projectFromDb == null) { return(null); } if (!ProjectVersions.CanLoadVersion(projectFromDb.Version)) { throw new InvalidProjectFileException(projectFromDb.Version); } var project = projectFrom(projectFromDb); _postSerializationStepsMaker.PerformPostDeserializationFor(project, projectFromDb.Version); context.LoadFrom(project); return(project); }