private void checkUniqueIDs(
            FileGroup fileGroupDst,
            FileGroup fileGroupSrc,
            DataTable tableDst,
            DataTable tableSrc)
        {
            foreach (DataRow rowSrc in tableSrc.Rows)
            {
                var nameSrc = rowSrc[1].ToString();

                foreach (DataRow rowDst in tableDst.Rows)
                {
                    var nameDst = rowDst[1].ToString();

                    if (nameSrc.EqualsNoCase(nameDst))
                    {
                        throw new Exception(
                                  $"File group '{fileGroupDst.GetNameIntelligent(_project)}' and file group '{fileGroupSrc.GetFullNameIntelligent(_project)}' contains the same " +
                                  $"tag '{nameDst}'. " +
                                  Environment.NewLine +
                                  Environment.NewLine +
                                  "Please ensure that all file groups to merge have unique tags.");
                    }
                }
            }
        }
        private void ensureSameLanguages(FileGroup fileGroup1, FileGroup fileGroup2)
        {
            var l1s = fileGroup1.GetLanguageCodes(_project).OrderBy(m => m, OrderByDirection.Ascending);
            var l2s = fileGroup2.GetLanguageCodes(_project).OrderBy(m => m, OrderByDirection.Ascending);

            var s1 = string.Join(@", ", l1s);
            var s2 = string.Join(@", ", l2s);

            if (!s1.EqualsNoCase(s2))
            {
                throw new Exception(
                          $"File group '{fileGroup1.GetNameIntelligent(_project)}' and file group '{fileGroup2.GetFullNameIntelligent(_project)}' have different languages " +
                          $"({s1} and {s2}). " +
                          Environment.NewLine +
                          Environment.NewLine +
                          "Please ensure to only merge files with the same languages.");
            }
        }