code: function (arrayBuffer) {
              if (!arrayBuffer) {
                  throw new ArgumentError(
                      Logger.logMessage(Logger.LEVEL_SEVERE, "GeoTiffReader", "constructor", "missingArrayBuffer"));
              }
  
              // Documented in defineProperties below.
              this._isLittleEndian = false;
  
              // Documented in defineProperties below.
              this._imageFileDirectories = [];
  
              // Documented in defineProperties below.
              this._geoTiffData = new DataView(arrayBuffer);
  
              // Documented in defineProperties below.
              this._metadata = new GeoTiffMetadata();
  
              this.parse();
          }
docs: Constructs a geotiff reader object for a specified geotiff URL.
  Call [readAsImage]{@link GeoTiffReader#readAsImage} to retrieve the image as a canvas or
  [readAsData]{@link GeoTiffReader#readAsData} to retrieve the elevations as an array of elevation values.
  @alias GeoTiffReader
  @constructor
  @classdesc Parses a geotiff and creates an image or an elevation array representing its contents.
  @param {String} ArrayBuffer The ArrayBuffer of the GeoTiff
  @throws {ArgumentError} If the specified URL is null or undefined.