code: function(start, length) {
  			// Splice and trigger events
  			var removed = files.splice(start === undef ? 0 : start, length === undef ? files.length : length);
  
  			// if upload is in progress we need to stop it and restart after files are removed
  			var restartRequired = false;
  			if (this.state == plupload.STARTED) { // upload in progress
  				plupload.each(removed, function(file) {
  					if (file.status === plupload.UPLOADING) {
  						restartRequired = true; // do not restart, unless file that is being removed is uploading
  						return false;
  					}
  				});
  
  				if (restartRequired) {
  					this.stop();
  				}
  			}
  
  			this.trigger("FilesRemoved", removed);
  
  			// Dispose any resources allocated by those files
  			plupload.each(removed, function(file) {
  				file.destroy();
  			});
  
  			if (restartRequired) {
  				this.start();
  			}
  
  			return removed;
  		}
docs: Removes part of the queue and returns the files removed. This will also trigger the
  FilesRemoved and QueueChanged events.
  
  @method splice
  @param {Number} [start=0] Start index to remove from.
  @param {Number} [length] Number of files to remove (defaults to number of files in the queue).
  @return {Array} Array of files that was removed.