whole_func_string: function() {
          var ln = arguments.length,
          i, arg;
  
          for (i = 0; i < ln; i++) {
              arg = arguments[i];
              if (arg) {
                  if (Ext.isArray(arg)) {
                      this.destroy.apply(this, arg);
                  }
                  else if (Ext.isFunction(arg.destroy)) {
                      arg.destroy();
                  }
                  else if (arg.dom) {
                      arg.remove();
                  }
              }
          }
      }
func_code_string: function() {
          var ln = arguments.length,
          i, arg;
  
          for (i = 0; i < ln; i++) {
              arg = arguments[i];
              if (arg) {
                  if (Ext.isArray(arg)) {
                      this.destroy.apply(this, arg);
                  }
                  else if (Ext.isFunction(arg.destroy)) {
                      arg.destroy();
                  }
                  else if (arg.dom) {
                      arg.remove();
                  }
              }
          }
      }
func_documentation_string: Attempts to destroy any objects passed to it by removing all event listeners, removing them from the
  DOM (if applicable) and calling their destroy functions (if available).  This method is primarily
  intended for arguments of type {@link Ext.Element} and {@link Ext.Component}, but any subclass of
  {@link Ext.util.Observable} can be passed in.  Any number of elements and/or components can be
  passed into this function in a single call as separate arguments.
  
  @param {Ext.Element/Ext.Component/Ext.Element[]/Ext.Component[]...} args
  An {@link Ext.Element}, {@link Ext.Component}, or an Array of either of these to destroy