code: function(callback)
      {
          if (this._limit != null && this.offset >= this._limit)
          {
              return callback(null, null);
          }
  
          var self = this;
          var _next = function(err)
          {       
              if (err)
              {
                  return callback(err);
              }
          
              if (self.pos < self.data.length)
              {
                  var itemData = self.data[self.pos];
                  self.pos++;
                  self.offset++;
                  var cls = self.itemCls;
                  callback(null, new cls(self.api, itemData, true));
              }
              else
              {
                  callback(null, null);
              }
          };
          
          if (this.data == null || this.pos >= this.data.length && this.truncated)
          {
              this.loadNextPage(_next);
          }
          else
          {
              process.nextTick(_next);
          }
      }
docs: /*
  cursor.next(callback)
  
  Retrieves the next item from the cursor and passes it to the callback function.
  
  - callback : function(err, item)
  Required