@Override
 public SpatialRelation relate(Shape shape) {
   //      if (shape instanceof UnitNRShape)
   //        return relate((UnitNRShape)shape);
   if (shape instanceof SpanUnitsNRShape) return relate((SpanUnitsNRShape) shape);
   return shape.relate(this).transpose(); // probably a UnitNRShape
 }
 @Override
 public SpatialRelation relate(Shape shape) {
   assertDecoded();
   if (shape == iterFilter && cellShapeRel != null) return cellShapeRel;
   if (shape instanceof UnitNRShape) return relate((UnitNRShape) shape);
   if (shape instanceof SpanUnitsNRShape) return relate((SpanUnitsNRShape) shape);
   return shape.relate(this).transpose();
 }