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);
                }
            }
        }