private bool CompareS(
     ErrorPatternMatcher.ComparisonOP op,
     ViewgenContext context,
     LeftCellWrapper leftWrapper1,
     LeftCellWrapper leftWrapper2,
     FragmentQuery rightQuery1,
     FragmentQuery rightQuery2)
 {
     return(this.Compare(false, op, context, leftWrapper1, leftWrapper2, rightQuery1, rightQuery2));
 }
        private bool Compare(
            bool lookingForC,
            ErrorPatternMatcher.ComparisonOP op,
            ViewgenContext context,
            LeftCellWrapper leftWrapper1,
            LeftCellWrapper leftWrapper2,
            FragmentQuery rightQuery1,
            FragmentQuery rightQuery2)
        {
            if (lookingForC && this.IsQueryView() || !lookingForC && !this.IsQueryView())
            {
                LCWComparer lcwComparer;
                switch (op)
                {
                case ErrorPatternMatcher.ComparisonOP.IsContainedIn:
                    lcwComparer = new LCWComparer(context.LeftFragmentQP.IsContainedIn);
                    break;

                case ErrorPatternMatcher.ComparisonOP.IsDisjointFrom:
                    lcwComparer = new LCWComparer(context.LeftFragmentQP.IsDisjointFrom);
                    break;

                default:
                    return(false);
                }
                return(lcwComparer(leftWrapper1.FragmentQuery, leftWrapper2.FragmentQuery));
            }
            LCWComparer lcwComparer1;

            switch (op)
            {
            case ErrorPatternMatcher.ComparisonOP.IsContainedIn:
                lcwComparer1 = new LCWComparer(context.RightFragmentQP.IsContainedIn);
                break;

            case ErrorPatternMatcher.ComparisonOP.IsDisjointFrom:
                lcwComparer1 = new LCWComparer(context.RightFragmentQP.IsDisjointFrom);
                break;

            default:
                return(false);
            }
            return(lcwComparer1(rightQuery1, rightQuery2));
        }