code: function(el, method, o, overrides) {
              var collection = [],
                  scope = (overrides) ? o : window;
                  
              el = (el && (el[TAG_NAME] || el.item)) ? el : Y.Dom.get(el); // skip get() when possible
              if (el && method) {
                  if (el[TAG_NAME] || el.length === undefined) { // element or not array-like 
                      return method.call(scope, el, o);
                  } 
  
                  for (var i = 0; i < el.length; ++i) {
                      collection[collection.length] = method.call(scope, el[i], o);
                  }
              } else {
                  return false;
              } 
              return collection;
          }
docs: Runs the supplied method against each item in the Collection/Array.
  The method is called with the element(s) as the first arg, and the optional param as the second ( method(el, o) ).
  @method batch
  @param {String | HTMLElement | Array} el (optional) An element or array of elements to apply the method to
  @param {Function} method The method to apply to the element(s)
  @param {Any} o (optional) An optional arg that is passed to the supplied method
  @param {Boolean} overrides (optional) Whether or not to override the scope of "method" with "o"
  @return {Any | Array} The return value(s) from the supplied method