internal static FragmentQueryProcessor Merge(FragmentQueryProcessor qp1, FragmentQueryProcessor qp2)
        {
            var mergedKB = new FragmentQueryKBChaseSupport();

            mergedKB.AddKnowledgeBase(qp1.KnowledgeBase);
            mergedKB.AddKnowledgeBase(qp2.KnowledgeBase);
            return(new FragmentQueryProcessor(mergedKB));
        }
        internal static FragmentQueryProcessor Merge(
            FragmentQueryProcessor qp1,
            FragmentQueryProcessor qp2)
        {
            FragmentQueryKBChaseSupport kb = new FragmentQueryKBChaseSupport();

            kb.AddKnowledgeBase((System.Data.Entity.Core.Common.Utils.Boolean.KnowledgeBase <DomainConstraint <BoolLiteral, Constant> >)qp1.KnowledgeBase);
            kb.AddKnowledgeBase((System.Data.Entity.Core.Common.Utils.Boolean.KnowledgeBase <DomainConstraint <BoolLiteral, Constant> >)qp2.KnowledgeBase);
            return(new FragmentQueryProcessor(kb));
        }