	this.lazy = function(func, delay) {
		var busy = function(state) {
				var cnt = node.data('lazycnt');
				if (state) {
					if (! cnt) {
						node.data('lazycnt', 1);
						node.addClass('elfinder-processing');
					} else {
						node.data('lazycnt', ++cnt);
					}
				} else {
					if (cnt && cnt > 1) {
						node.data('lazycnt', --cnt);
					} else {
						node.data('lazycnt', 0);
						node.removeClass('elfinder-processing');
					}
				}
			},
			dfd  = $.Deferred();
		
		delay = delay || 0;
		busy(true);
		
		// for node re-paint
		node.outerHeight();
		
		setTimeout(function() {
			func.call(dfd);
			busy(false);
		}, delay);
		return dfd;
	}
The software constructs all or part of an SQL command using externally-influenced input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could modify the intended SQL command when it is sent to a downstream component.