customCacheKey() {

		const lights = this._lights;

		for ( let i = 0; i < lights.length; i ++ ) {

			const light = lights[ i ];

			_hashData.push( light.id );
			_hashData.push( light.castShadow ? 1 : 0 );

			if ( light.isSpotLight === true ) {

				const hashMap = ( light.map !== null ) ? light.map.id : -1;
				const hashColorNode = ( light.colorNode ) ? light.colorNode.getCacheKey() : -1;

				_hashData.push( hashMap, hashColorNode );

			}

		}

		const cacheKey = hashArray( _hashData );

		_hashData.length = 0;

		return cacheKey;

	}
Overwrites the default {@link Node#customCacheKey} implementation by including
light data into the cache key.

@return {number} The custom cache key.