set( keys, value ) {

		let map = this.weakMap;

		for ( let i = 0; i < keys.length - 1; i ++ ) {

			const key = keys[ i ];

			if ( map.has( key ) === false ) map.set( key, new WeakMap() );

			map = map.get( key );

		}

		map.set( keys[ keys.length - 1 ], value );

		return this;

	}
Sets the value for the given keys.

@param {Array<Object>} keys - List of keys.
@param {any} value - The value to set.
@return {ChainMap} A reference to this Chain Map.