private bool ResolveProbabilisticTransitions(DTAnalyzer analyzer) { bool HasChanges = false; DataTable dt = this.GetDataSheet(Strings.DATASHEET_PT_NAME).GetData(); for (int Index = dt.Rows.Count - 1; Index >= 0; Index--) { DataRow dr = dt.Rows[Index]; if (dr.RowState == DataRowState.Deleted) { continue; } int?StratumIdSource = null; int StateClassIdSource = 0; int?StratumIdDest = null; int?StateClassIdDest = null; DTAnalyzer.GetDTFieldValues(dr, ref StratumIdSource, ref StateClassIdSource, ref StratumIdDest, ref StateClassIdDest); if (!analyzer.StateClassExists(StratumIdSource, StateClassIdSource)) { DataTableUtilities.DeleteTableRow(dt, dr); HasChanges = true; continue; } if (!StateClassIdDest.HasValue) { continue; } if (!analyzer.CanResolveStateClass(StratumIdSource, StratumIdDest, StateClassIdDest.Value)) { DataTableUtilities.DeleteTableRow(dt, dr); HasChanges = true; } } return(HasChanges); }