code: function (callback, scope) {
          var position = this.position,
              iteration = this.iteration,
  
              coords;
  
          // increment position
          position += 1;
  
          // check if we need to increment cycle
          if (position >= this.length) {
              // set position to 0 and increment iteration
              position = 0;
              iteration += 1;
  
              if (iteration >= this.cycles) {
                  coords = _.isFunction(callback) && this.current();
                  coords.eof = true;
  
                  return coords && callback.call(scope || this, null, false, coords, coords);
              }
  
              coords && (coords.cr = true);
          }
  
          // finally handover the new coordinates to seek function
          return this.seek(position, iteration, callback, scope);
      }
docs: Seek one forward
  
  @param {Function} [callback] - receives `(err:Error, changed:Boolean, coords:Object, previous:Object)`
  @param {Object} [scope]