code: function(grid) {
  		var me = this;
  
  		if (me.autoStores.getCount()) {
  			me.grid.store.un('load', me.fillAutoStores, me);
  		}
  
  		me.autoStores.each(function(item) {
  			Ext.destroy(item);
  		});
  		me.autoStores.clear();
  		me.autoStores = null;
  		me.columns.each(function(column) {
  			if (column.rendered) {
  				if(column.getEl().hasCls(me.columnFilteredCls)) {
  					column.getEl().removeCls(me.columnFilteredCls);
  				}
  			}
  		}, me);
  		me.columns.clear();
  		me.columns = null;
  		me.fields.each(function(item) {
  			Ext.destroy(item);
  		});
  		me.fields.clear();
  		me.fields = null;
  		me.containers.each(function(item) {
  			Ext.destroy(item);
  		});
  		me.containers.clear();
  		me.containers = null;
  		if (me.clearAllEl) {
  			Ext.destroy(me.clearAllEl);
  			me.clearAllEl = null;
  		}
  		if (me.showHideEl) {
  			Ext.destroy(me.showHideEl);
  			me.showHideEl = null;
  		}
  		if (me.extraColumn) {
  			me.grid.headerCt.items.remove(me.extraColumn);
  			Ext.destroy(me.extraColumn);
  			me.extraColumn = null;
  		}
  		me.task = null;
  		me.filterArray = null;
  	}
docs: private