private void handlePostProcessFailure(Throwable e, String entity) {
      // failures in tile post-processing happen very late so err on the side of caution and
      // log failures, only throwing when it's a fatal error
      if (e instanceof GeometryException geoe) {
        geoe.log(stats, "postprocess_layer",
          "Caught error postprocessing features for " + entity + " on " + tileCoord, config.logJtsExceptions());
      } else if (e instanceof Error err) {
        LOGGER.error("Caught fatal error postprocessing features {} {}", entity, tileCoord, e);
        throw err;
      } else {
        LOGGER.error("Caught error postprocessing features {} {}", entity, tileCoord, e);
      }
    }
Returns true if {@code other} contains features with identical layer, geometry, and attributes, as this tile -
even if the tiles have separate coordinates.
<p>
Used as an optimization to avoid re-encoding the same ocean tiles over and over again.
planetiler-core/src/main/java/com/onthegomap/planetiler/collection/FeatureGroup.java