code: function(reader, sessionId, schema) {
      if (!reader) throw new Error("Invalid reader");
      if (!sessionId) throw new Error("Invalid session id");
  
      this.reader = reader;
      this.sessionId = sessionId;
      this.schema = schema || Schema.standard();
      this.readQueue = [];
  }
docs: A read queue implementation, which queues up reads and calls the callbacks when a particular item has been read, useful
  when you want to queue a bunch of reads (since they can only happen sequentially for now).  This class is generally optimized
  for reading one kind of data, e.g. you can specify the schema at creation time.  You would always get data in the format
  designated by the schema.
  
  @class
  @param {GreyhoundReader} reader - The greyhound reader to read data out off of.
  @param {string} sessionId - The session id to read from.
  @param {Schema} [schema=Schema.standard()] - The schema to read data in.
  @return {ReadQueue}