code: function() {
  		if (this.options.sparse) {
  			if (!this.sparse.scrollParent || !this.sparse.scrollParent.length) {
  				this.generateSparseRenderTarget();
  			}
  		}
  		var target = this.getRenderTarget();
  
  		// Start!
  		// renderAttached is handled within detach/attach dom...
  		this.detachDOM();
  
  		// tear everything down first..
  		target.empty();
  		this.$el.empty();
  
  		if (this.options.hideIfEmpty && !this._d.renderedViews.length) {
  			this.attachDOM();
  			return;
  		}
  		// rebuild the layers
  
  		// start with the render header
  		this.renderHeader();
  
  		// if we're using a sparse holder, put that in the right spot now
  		if (this.sparse.holder) {
  			this.sparse.holder.appendTo(this.$el);
  			this.sparse.holder.attr('class', 'list_view_slider ' + this.options.sparseClassName);
  		}
  
  		if (this.isLoading()) {
  			this._d.loadingSpinnerShown = true;
  			this.renderLoading();
  
  		} else if (this._d.listCache.length === 0) {
  			this.showNoData();
  		} else {
  
  			// render in all of the views that should be rendered. This is the heavy-ish task..
  			_(this._d.renderedViews).each(function(view) {
  				view.renderTo(target);
  			});
  
  			// render footer. Ordering matters, footers DO NOT clean themselves up or maintain themselves..
  			this.renderFooter();
  		}
  
  		this.attachDOM();
  
  		// Done!
  	}
docs: this deconstructs and reconstructs the DOM it can be kind of heavy, but generally is a good operation it's somewhat important to run this at least the first time we're actually attached to the dom (and all subsequent renders where we're attached to a fresh unmodified dom)