docs: @Override
      public final Query doQuery(Schema schema) {
  
          // Get the spatial strategy from the mapper
          SpatialStrategy strategy;
          Mapper mapper = schema.mapper(field);
          if (mapper == null) {
              throw new IndexException("No mapper found for field '{}'", field);
          } else if (mapper instanceof GeoShapeMapper) {
              strategy = ((GeoShapeMapper) mapper).strategy;
          } else if (mapper instanceof GeoPointMapper) {
              strategy = ((GeoPointMapper) mapper).strategy;
          } else {
              throw new IndexException("'{}' search requires a 'geo_point' or 'geo_shape' mapper but found {}:{}",
                                       queryTypeName, field, mapper);
          }
  
          // Delegate query creation
          return doQuery(strategy);
      }