public static SCode Make(PrimitiveIsObjectEq predicate, SCode consequent, SCode alternative)
 {
     return
         (predicate is PrimitiveIsObjectEqL) ? PCondIsObjectEqL.Make ((PrimitiveIsObjectEqL) predicate, consequent, alternative) :
         (predicate is PrimitiveIsObjectEqQ) ? PCondIsObjectEqQ.Make ((PrimitiveIsObjectEqQ) predicate, consequent, alternative) :
         (predicate is PrimitiveIsObjectEqSQ) ? PCondIsObjectEqSQ.Make ((PrimitiveIsObjectEqSQ) predicate, consequent, alternative) :
         (consequent is LexicalVariable) ? Unimplemented () :
         (consequent is Quotation) ? Unimplemented () :
         (alternative is LexicalVariable) ? Unimplemented () :
         (alternative is Quotation) ? Unimplemented () :
         new PCondIsObjectEq (predicate, consequent, alternative);
 }
 protected PCondIsObjectEq(PrimitiveIsObjectEq predicate, SCode consequent, SCode alternative)
     : base(predicate, consequent, alternative)
 {
 }