private void compareGeometry(TileCoord coord, String layer, VectorTileProto.Tile.Feature feature1,
    VectorTileProto.Tile.Feature feature2) {
    if (compareValues(coord, layer, "feature type", feature1.getType(), feature2.getType())) {
      var geomType = feature1.getType();
      if (!compareValues(coord, layer, "feature " + geomType.toString().toLowerCase() + " geometry commands",
        feature1.getGeometryList(), feature2.getGeometryList())) {
        var geom1 =
          new VectorTile.VectorGeometry(Ints.toArray(feature1.getGeometryList()), GeometryType.valueOf(geomType), 0);
        var geom2 =
          new VectorTile.VectorGeometry(Ints.toArray(feature2.getGeometryList()), GeometryType.valueOf(geomType), 0);
        try {
          compareGeometry(coord, layer, geom1.decode(), geom2.decode());
        } catch (GeometryException e) {
          LOGGER.error("Error decoding geometry", e);
        }
      }
    }
  }
@throws FatalComparisonFailure if a comparison failure is encountered that prevents comparing the whole archives.
planetiler-core/src/main/java/com/onthegomap/planetiler/util/CompareArchives.java