     return '[ByteBuffer; Order: ' + order + '; Length: ' + @length + '; Index: ' + @_index + '; Available: ' + @available + ']'
 
   # Hex representation of this buffer with given spacer
-  toHex: (spacer=' ') ->
+  toHex: (spacer = ' ') ->
     return Array::map.call(@_raw, (byte) ->
       ('00' + byte.toString(16).toUpperCase()).slice(-2)
     ).join(spacer)
 
   # ASCII representation of this buffer with given spacer and optional byte alignment
-  toASCII: (spacer=' ', align=true, unknown='\uFFFD') ->
+  toASCII: (spacer = ' ', align = true, unknown = '\uFFFD') ->
     prefix = if align then ' ' else ''
     return Array::map.call(@_raw, (byte) ->
       return if (byte < 0x20 || byte > 0x7E) then prefix + unknown else prefix + String.fromCharCode(byte)

  writeDouble: writer('setFloat64', 8)

  # Reads sequence of given number of bytes (defaults to number of bytes available)
  read: (bytes=@available) ->
    if bytes > @available
      throw new Error('Cannot read ' + bytes + ' byte(s), ' + @available + ' available')


  # - from given source (assumed to be number of bytes when numeric)
  # - with given byte order (defaults to big-endian)
  # - with given implicit growth strategy (defaults to false)
  constructor: (source = 0, order = self.BIG_ENDIAN, implicitGrowth = false) ->

    # Holds buffer
    @_buffer = null
