@Override
 public boolean operateDoubleDouble(DoublePointable doublep1, DoublePointable doublep2)
     throws SystemException, IOException {
   if (Double.isNaN(doublep1.getDouble()) || Double.isNaN(doublep2.getDouble())) {
     return false;
   }
   return !aOp.operateDoubleDouble(doublep1, doublep2);
 }
 @Override
 public boolean operateIntegerDouble(LongPointable longp1, DoublePointable doublep2)
     throws SystemException, IOException {
   if (Double.isNaN(doublep2.doubleValue())) {
     return false;
   }
   return !aOp.operateIntegerDouble(longp1, doublep2);
 }
 @Override
 public boolean operateFloatDouble(FloatPointable floatp1, DoublePointable doublep2)
     throws SystemException, IOException {
   if (Float.isNaN(floatp1.getFloat()) || Double.isNaN(doublep2.doubleValue())) {
     return false;
   }
   return !aOp.operateFloatDouble(floatp1, doublep2);
 }
 @Override
 public boolean operateDoubleInteger(DoublePointable doublep1, LongPointable longp2)
     throws SystemException, IOException {
   if (Double.isNaN(doublep1.getDouble())) {
     return false;
   }
   return !aOp.operateDoubleInteger(doublep1, longp2);
 }
 @Override
 public boolean operateDoubleFloat(DoublePointable doublep1, FloatPointable floatp2)
     throws SystemException, IOException {
   if (Double.isNaN(doublep1.getDouble()) || Float.isNaN(floatp2.getFloat())) {
     return false;
   }
   return !aOp.operateDoubleFloat(doublep1, floatp2);
 }
 @Override
 public boolean operateDoubleDecimal(DoublePointable doublep1, XSDecimalPointable decp2)
     throws SystemException, IOException {
   if (Double.isNaN(doublep1.getDouble())) {
     return false;
   }
   return !aOp.operateDoubleDecimal(doublep1, decp2);
 }