mipmaps( loadMipmaps ) {

			const mipmaps = []; // initialize width & height for level 1

			let dataOffset = HEADER_LEN + this.bytesOfKeyValueData;
			let width = this.pixelWidth;
			let height = this.pixelHeight;
			const mipmapCount = loadMipmaps ? this.numberOfMipmapLevels : 1;

			for ( let level = 0; level < mipmapCount; level ++ ) {

				const imageSize = new Int32Array( this.arrayBuffer, dataOffset, 1 )[ 0 ]; // size per face, since not supporting array cubemaps

				dataOffset += 4; // size of the image + 4 for the imageSize field

				for ( let face = 0; face < this.numberOfFaces; face ++ ) {

					const byteArray = new Uint8Array( this.arrayBuffer, dataOffset, imageSize );
					mipmaps.push( {
						'data': byteArray,
						'width': width,
						'height': height
					} );
					dataOffset += imageSize;
					dataOffset += 3 - ( imageSize + 3 ) % 4; // add padding for odd sized image

				}

				width = Math.max( 1.0, width * 0.5 );
				height = Math.max( 1.0, height * 0.5 );

			}

			return mipmaps;

		}
@param {ArrayBuffer} arrayBuffer- contents of the KTX container file
@param {number} facesExpected- should be either 1 or 6, based whether a cube texture or or
@param {boolean} threeDExpected- provision for indicating that data should be a 3D texture, not implemented
@param {boolean} textureArrayExpected- provision for indicating that data should be a texture array, not implemented