docs: function(rowCallback, scope, args){
          if (_isUnd(scope)) scope = this;
          var mArgs = [null];
          if (!_isUnd(args)) {
              if (!_isArr(args)) args = [args];
              mArgs = mArgs.concat(args);
          }
          while (this.hasMoreRows()){
              mArgs[0] = this.readAsObject();
              if (rowCallback.apply(scope, mArgs)===false) return false;
              this.nextRow();
          }
          return true;
      }