function each(collection, delegate) { if (util.isArray(collection) || util.isArguments(collection)) { for(var i=0; i<collection.length;i++) delegate(collection[i]); } else if (collection instanceof Collection){ for(var it=collection.iterator(); it.hasNext();) delegate(it.next()); } else { util.assert(false, "Expected list or collection, got {0}", collection); } }
function isCollection(collection){ return util.isArray(collection) || util.isArguments(collection) || collection instanceof Collection; }