code: function(array) {
              if (!array) {
                  throw new ArgumentError(
                      Logger.logMessage(Logger.LEVEL_SEVERE, "ByteBuffer", "constructor", "missingArray"));
              }
  
              /**
               * The raw data of the array buffer.
               * @type {ArrayBuffer}
               */
              this.array = array;
  
              /**
               * A data view on the array buffer.
               * This data view is used to extract integer and floating point data from that array buffer.
               * @type {DataView}
               */
              this.data = new DataView(array);
  
              /**
               * The current position in the array buffer.
               * This position is implicitly used to access all data.
               * @type {Number}
               */
              this.position = 0;
  
              /**
               * The byte order in which the data is encoded.
               * Byte order will either be big endian or little endian.
               * @type {Boolean}
               * @default ByteByffer.LITTLE_ENDIAN
               * @private
               */
              this._order = ByteBuffer.LITTLE_ENDIAN;
          }
docs: Constructs a wrapper around an array buffer that enables byte-level access to its data.
  This wrapper strives to minimize secondary allocations when subarrays are accessed.
  The one exception is when double precision floating point data is access that is not properly aligned.
  @alias ByteBuffer
  @classdesc A structured wrapper around an array buffer that provides byte-level access to its data.
  @param {ArrayBuffer} array An array buffer containing source data.
  @constructor