function Implicit3DTileContent(tileset, tile, resource) {
  //>>includeStart('debug', pragmas.debug);
  Check.defined("tile.implicitTileset", tile.implicitTileset);
  Check.defined("tile.implicitCoordinates", tile.implicitCoordinates);
  //>>includeEnd('debug');

  const implicitTileset = tile.implicitTileset;
  const implicitCoordinates = tile.implicitCoordinates;

  this._implicitTileset = implicitTileset;
  this._implicitCoordinates = implicitCoordinates;
  this._implicitSubtree = undefined;
  this._tileset = tileset;
  this._tile = tile;
  this._resource = resource;

  this._metadata = undefined;

  this.featurePropertiesDirty = false;
  this._group = undefined;

  const templateValues = implicitCoordinates.getTemplateValues();
  const subtreeResource = implicitTileset.subtreeUriTemplate.getDerivedResource(
    {
      templateValues: templateValues,
    },
  );
  this._url = subtreeResource.getUrlComponent(true);

  this._ready = false;
}
A specialized {@link Cesium3DTileContent} that lazily evaluates an implicit
tileset. It is somewhat similar in operation to a
{@link Tileset3DTileContent} in that once the content is constructed, it
updates the tileset tree with more tiles. However, unlike external tilesets,
child subtrees are represented as additional placeholder nodes with
Implicit3DTileContent.
<p>
Implements the {@link Cesium3DTileContent} interface.
</p>
This object is normally not instantiated directly, use {@link Implicit3DTileContent.fromSubtreeJson}.

@alias Implicit3DTileContent
@constructor

@param {Cesium3DTileset} tileset The tileset this content belongs to
@param {Cesium3DTile} tile The tile this content belongs to.
@param {Resource} resource The resource for the tileset
@param {object} [json] The JSON object containing the subtree. Mutually exclusive with arrayBuffer.
@param {ArrayBuffer} [arrayBuffer] The array buffer that stores the content payload. Mutually exclusive with json.
@param {number} [byteOffset=0] The offset into the array buffer, if one was provided

@exception {DeveloperError} One of json and arrayBuffer must be defined.

@private
@experimental This feature is using part of the 3D Tiles spec that is not final and is subject to change without Cesium's standard deprecation policy.