getCacheNode( type, object, callback, forceUpdate = false ) {

		const nodeCache = this.cacheLib[ type ] || ( this.cacheLib[ type ] = new WeakMap() );

		let node = nodeCache.get( object );

		if ( node === undefined || forceUpdate ) {

			node = callback();
			nodeCache.set( object, node );

		}

		return node;

	}
This method is part of the caching of nodes which are used to represents the
scene's background, fog or environment.

@param {string} type - The type of object to cache.
@param {Object} object - The object.
@param {Function} callback - A callback that produces a node representation for the given object.
@param {boolean} [forceUpdate=false] - Whether an update should be enforced or not.
@return {Node} The node representation.