private VectorTile.Feature decodeVectorTileFeature(SortableFeature entry) {
      try (MessageUnpacker unpacker = MessagePack.newDefaultUnpacker(entry.value())) {
        long group;
        if (extractHasGroupFromKey(entry.key())) {
          group = unpacker.unpackLong();
          unpacker.unpackInt(); // groupLimit - features over the limit were already discarded
        } else {
          group = VectorTile.Feature.NO_GROUP;
        }
        long id = unpacker.unpackLong();
        byte geomTypeAndScale = unpacker.unpackByte();
        GeometryType geomType = decodeGeomType(geomTypeAndScale);
        int scale = decodeScale(geomTypeAndScale);
        int mapSize = unpacker.unpackMapHeader();
        Map<String, Object> attrs = HashMap.newHashMap(mapSize);
        for (int i = 0; i < mapSize; i++) {
          String key = commonValueStrings.decode(unpacker.unpackInt());
          Value v = unpacker.unpackValue();
          if (v.isStringValue()) {
            attrs.put(key, v.asStringValue().asString());
          } else if (v.isIntegerValue()) {
            attrs.put(key, v.asIntegerValue().toLong());
          } else if (v.isFloatValue()) {
            attrs.put(key, v.asFloatValue().toDouble());
          } else if (v.isBooleanValue()) {
            attrs.put(key, v.asBooleanValue().getBoolean());
          }
        }
        int commandSize = unpacker.unpackArrayHeader();
        int[] commands = new int[commandSize];
        for (int i = 0; i < commandSize; i++) {
          commands[i] = unpacker.unpackInt();
        }
        String layer = commonLayerStrings.decode(extractLayerIdFromKey(entry.key()));
        return new VectorTile.Feature(
          layer,
          id,
          new VectorTile.VectorGeometry(commands, geomType, scale),
          attrs,
          group
        );
      } catch (IOException e) {
        throw new IllegalStateException(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