/**
  * Constructor.
  *
  * @param red pseudo reduction engine.
  * @param rf coefficient ring factory. <b>Note:</b> red must be an instance of PseudoReductionSeq.
  */
 public GroebnerBasePseudoRecSeq(
     PseudoReduction<GenPolynomial<C>> red, RingFactory<GenPolynomial<C>> rf) {
   super(red);
   this.red = red;
   cofac = rf;
   GenPolynomialRing<C> rp = (GenPolynomialRing<C>) cofac;
   baseCofac = rp.coFac;
   // engine = (GreatestCommonDivisorAbstract<C>)GCDFactory.<C>getImplementation( baseCofac );
   // not used:
   engine = (GreatestCommonDivisorAbstract<C>) GCDFactory.<C>getProxy(baseCofac);
 }