public void Adjust() { var rawData = buildRepository.GetRawData(); var raw = new RawBuildData(rawData); if (!raw.IsValidData) { RaiseFoundInvalidData(raw.Data); try { var fixedRawData = raw.Fix(); buildRepository.Save(fixedRawData); RaiseFixedInvalidData(); } catch (Exception e) { RaiseCouldNotConvertData(e); } } }