add:    steps.push(function(notify) { window.setTimeout(notify,2); }.bind(this));  
context: 	loadedCallback: function(envelope) {		// To process the response, we go through the xml document and add a function for every action (step).		// After this is done, a FunctionExecuter object asynchronously executes these functions.		// The asynchronous execution is necessary, because some steps might involve loading external javascript,		// which must be asynchronous, so that it doesn't block the browser, but we also have to maintain		// the order in which scripts are loaded and we have to delay the next steps until the script is		// loaded.		try {						var root = envelope.getElementsByTagName("ajax-response")[0];								// the root element must be <ajax-response			    if (root == null || root.tagName != "ajax-response") {		    	this.failure("Could not find root <ajax-response> element");		    	return;		    }									// iinitialize the array for steps (closures that execute each action)		    var steps = new Array();		    if (Wicket.Browser.isKHTML()) {		    	// there's a nasty bug in KHTML that makes the browser crash		    	// when the methods are delayed. Therefore we have to fire it		    	// ASAP. The javascripts that would cause dependency problems are		    	// loaded synchronously in konqueror.			    steps.push = function(method) {			    	method(function() { });			    }			}						// go through the ajax response and for every action (component, js evaluation, header contribution)			// ad the proper closure to steps		    for (var i = 0; i < root.childNodes.length; ++i) {		    	var node = root.childNodes[i];						        if (node.tagName == "component") {		           this.processComponent(steps, node);		        } else if (node.tagName == "evaluate") {		           this.processEvaluation(steps, node);		        } else if (node.tagName == "header-contribution") {		           this.processHeaderContribution(steps, node);		        }		        		    }			// add the last step, which should trigger the success call the done method on request			this.success(steps);		    		    if (Wicket.Browser.isKHTML() == false) {			    Wicket.Log.info("Response parsed. Now invoking steps...");		    		   		    			    var executer = new Wicket.FunctionsExecuter(steps);			    executer.start();		    		    }		    		} catch (e) {			this.failure(e.message);		}	},
meta: 1204	/local1/tlutelli/issta_data/temp/all_js/javascript/2007_temp/2007/1204/c4e708e2653ee82392c5f20ddbdd2a54e3b1687c/wicket-ajax.js/buggy/jdk-1.4/wicket/src/main/java/org/apache/wicket/ajax/wicket-ajax.js