public override void Process() { result = new StringCollectionResult(); try { IEnumerable <string> messages = null; if (ProfileLibrary.GenerateVisibilityData(profileSource, featureClass, VisibilityAnalysisTypesEnum.Frequency, outGraphName, messages)) { result.Exception = new MilSpaceVisibilityCalcFailedException(); } result.Result = messages; if (messages != null && messages.Any()) { messages.ToList().ForEach(m => { if (result.Exception != null) { logger.ErrorEx(m); } else { logger.InfoEx(m); } }); } } catch (Exception ex) { result.Exception = ex; } }