constructor(source, littleEndian, bigTiff, firstIFDOffset, options = {}) {
    super();
    this.source = source;
    this.littleEndian = littleEndian;
    this.bigTiff = bigTiff;
    this.firstIFDOffset = firstIFDOffset;
    this.cache = options.cache || false;
    this.ifdRequests = [];
    this.ghostValues = null;
  }
@constructor
@param {*} source The datasource to read from.
@param {boolean} littleEndian Whether the image uses little endian.
@param {boolean} bigTiff Whether the image uses bigTIFF conventions.
@param {number} firstIFDOffset The numeric byte-offset from the start of the image
                               to the first IFD.
@param {GeoTIFFOptions} [options] further options.