* to prevent misuse because the filter can't efficiently work via iteration.
*/
@Override
public Filter makeFilter(final SpatialArgs args) {
ValueSource shapeValueSource = makeShapeValueSource();
ShapePredicateValueSource predicateValueSource = new ShapePredicateValueSource(
shapeValueSource, args.getOperation(), args.getShape());
return new PredicateValueSourceFilter(predicateValueSource);
}