private void AddSuborTabs(ViewElement tabsNode, Transaction trn, TransactionLevel fatherLvl)
        {
            // Tabs for each transaction level subordinated to the first one.
            List<Table> tablesInTrnLvls = new List<Table>();
            foreach (TransactionLevel suborLvl in fatherLvl.Levels)
            {
                AddSuborTabTrnLevel(tabsNode, trn, suborLvl);
                tablesInTrnLvls.Add(suborLvl.AssociatedTable);
            }

            // Tabs for other subordinated tables (by FK).
            foreach (TransactionLevelRelation relation in fatherLvl.GetSubordinations())
            {
                if (!fatherLvl.Levels.Contains(relation.RelatedLevel) &&
                    !tablesInTrnLvls.Contains(relation.RelatedTransaction.Structure.Root.AssociatedTable))
                {
                    string tabId = MakeTabUniqueId(fatherLvl, relation, tabsNode);
                    AddSuborTabTransaction(tabsNode, tabId, relation);
                }
            }
        }