protected override void DoProcess(BaseSentenceAlgorithmData sourceData, BaseSentenceAlgorithmData result)
        {
            Debug.Assert(result.Sentence != null);
            result.HelperData = new ConjunctedGBObjectsHelperData(Info.InternalName);

            var newGBs = new GrammaticalBasises();

            var currentGBNr = 1;

            foreach (var gb in GrammaticalBasises)
            {
                var predicatesFinalResult = result.FinalResults.PredicateBFinalResults.Items;

                foreach (var loPredicate in predicatesFinalResult)
                {
                    var kso3PredicateId = PredicatesBFinalResults.KSO3PredicateId(loPredicate);
                    if (kso3PredicateId != gb.Predicate.First().Id) continue;

                    var newGB = gb.Clone();
                    newGB.Nr = currentGBNr++;
                    newGB.Predicate = loPredicate.Select(x => x.Clone()).ToList();
                    newGBs.Add(newGB);

                    result.HelperData.Rows.Add(Guid.NewGuid().ToString(), -1, newGB.Text
                        , newGB.KSOPredicate?.Id
                        , newGB.SubjectId
                        , string.Join(",", loPredicate.Select(x => x.Id))
                        , string.Join(",", loPredicate.Select(x => x.Id)) + "," + newGB.SubjectId
                        , newGB.Nr
                        );
                }
            }

            // полностью меняем все ГО, т.к. теперь работаем в том числе с ЛО Сказуемое
            GrammaticalBasises = newGBs;
        }