code: public static JtsMvt loadMvt(InputStream is,
                                   GeometryFactory geomFactory,
                                   ITagConverter tagConverter,
                                   RingClassifier ringClassifier) throws IOException {
  
          final VectorTile.Tile mvt = VectorTile.Tile.parseFrom(is);
          final Vec2d cursor = new Vec2d();
          final List<JtsLayer> jtsLayers = new ArrayList<>(mvt.getLayersList().size());
  
          for(VectorTile.Tile.Layer nextLayer : mvt.getLayersList()) {
  
              final List<String> keysList = nextLayer.getKeysList();
              final List<VectorTile.Tile.Value> valuesList = nextLayer.getValuesList();
              final List<Geometry> layerGeoms = new ArrayList<>(nextLayer.getFeaturesList().size());
  
              for(VectorTile.Tile.Feature nextFeature : nextLayer.getFeaturesList()) {
  
                  final Long id = nextFeature.hasId() ? nextFeature.getId() : null;
  
                  final VectorTile.Tile.GeomType geomType = nextFeature.getType();
  
                  if(geomType == VectorTile.Tile.GeomType.UNKNOWN) {
                      continue;
                  }
  
                  final List<Integer> geomCmds = nextFeature.getGeometryList();
                  cursor.set(0d, 0d);
                  final Geometry nextGeom = readGeometry(geomCmds, geomType, geomFactory, cursor, ringClassifier);
                  if(nextGeom != null) {
                      nextGeom.setUserData(tagConverter.toUserData(id, nextFeature.getTagsList(), keysList, valuesList));
                      layerGeoms.add(nextGeom);
                  }
              }
  
              jtsLayers.add(new JtsLayer(nextLayer.getName(), layerGeoms, nextLayer.getExtent()));
          }
  
  
          return new JtsMvt(jtsLayers);
      }
docs: Load an MVT to JTS geometries using coordinates. Uses {@code tagConverter} to create user data
  from feature properties.
  
  @param is stream with MVT data
  @param geomFactory allows for JTS geometry creation
  @param tagConverter converts MVT feature tags to JTS user data object.
  @param ringClassifier determines how rings are parsed into Polygons and MultiPolygons
  @return JTS MVT with geometry in MVT coordinates
  @throws IOException failure reading MVT from stream
  @see Geometry
  @see Geometry#getUserData()
  @see RingClassifier