filter(featureFilter) {
    const filtered = new MixedGeometryBatch();
    filtered.globalCounter_ = this.globalCounter_;
    filtered.uidToRef_ = this.uidToRef_;
    filtered.refToFeature_ = this.refToFeature_;
    let empty = true;
    for (const feature of this.refToFeature_.values()) {
      if (featureFilter(feature)) {
        filtered.addFeature(feature);
        empty = false;
      }
    }
    // no feature was added at all; simply return an empty batch for consistency downstream
    if (empty) {
      return new MixedGeometryBatch();
    }
    return filtered;
  }
Will return a new instance of this class that only contains the features
for which the provided callback returned true
@param {function((Feature|RenderFeature)): boolean} featureFilter Feature filter callback
@return {MixedGeometryBatch} Filtered geometry batch