get( object, material, scene, camera, lightsNode, renderContext, clippingContext, passId ) {

		const chainMap = this.getChainMap( passId );

		// reuse chainArray
		_chainKeys$5[ 0 ] = object;
		_chainKeys$5[ 1 ] = material;
		_chainKeys$5[ 2 ] = renderContext;
		_chainKeys$5[ 3 ] = lightsNode;

		let renderObject = chainMap.get( _chainKeys$5 );

		if ( renderObject === undefined ) {

			renderObject = this.createRenderObject( this.nodes, this.geometries, this.renderer, object, material, scene, camera, lightsNode, renderContext, clippingContext, passId );

			chainMap.set( _chainKeys$5, renderObject );

		} else {

			renderObject.updateClipping( clippingContext );

			if ( renderObject.needsGeometryUpdate ) {

				renderObject.setGeometry( object.geometry );

			}

			if ( renderObject.version !== material.version || renderObject.needsUpdate ) {

				if ( renderObject.initialCacheKey !== renderObject.getCacheKey() ) {

					renderObject.dispose();

					renderObject = this.get( object, material, scene, camera, lightsNode, renderContext, clippingContext, passId );

				} else {

					renderObject.version = material.version;

				}

			}

		}

		_chainKeys$5.length = 0;

		return renderObject;

	}
Returns a render object for the given object and state data.

@param {Object3D} object - The 3D object.
@param {Material} material - The 3D object's material.
@param {Scene} scene - The scene the 3D object belongs to.
@param {Camera} camera - The camera the 3D object should be rendered with.
@param {LightsNode} lightsNode - The lights node.
@param {RenderContext} renderContext - The render context.
@param {ClippingContext} clippingContext - The clipping context.
@param {string} [passId] - An optional ID for identifying the pass.
@return {RenderObject} The render object.