private void CreateModalityMap() { //no need if (ModalityMatchingRegex == null) { return; } _modalityMap = new Dictionary <DataTable, string>(); foreach (DataTable dt in _columnNameToTargetTablesDictionary.Values.SelectMany(v => v).Distinct()) { var m = ModalityMatchingRegex.Match(dt.TableName); if (!m.Success) { throw new Exception("ModalityMatchingRegex failed to match against DataTable " + dt.TableName); } var modality = m.Groups[1].Value; if (!_modalityMap.ContainsKey(dt)) { _modalityMap.Add(dt, modality); } } }