function(fn, mOptions) {
			// Functionality taken from lodash open source library and adapted as needed

			mOptions = Object.assign({
				wait: 0,
				leading: true
			}, mOptions);
			mOptions.maxWait = mOptions.wait;
			mOptions.trailing = true;
			mOptions.requestAnimationFrame = false;

			return TableUtils.debounce(fn, mOptions);
		}
function(fn, mOptions) {
			// Functionality taken from lodash open source library and adapted as needed

			mOptions = Object.assign({
				wait: 0,
				leading: true
			}, mOptions);
			mOptions.maxWait = mOptions.wait;
			mOptions.trailing = true;
			mOptions.requestAnimationFrame = false;

			return TableUtils.debounce(fn, mOptions);
		}
function ( fn , mOptions ) { // Functionality taken from lodash open source library and adapted as needed mOptions = Object . assign ( { wait : 0 , leading : true } , mOptions ) ; mOptions . maxWait = mOptions . wait ; mOptions . trailing = true ; mOptions . requestAnimationFrame = false ; return TableUtils . debounce ( fn , mOptions ) ; }
Invokes a method in a certain interval, regardless of how many times it was called.

@param {Function} fn The method to throttle.
@param {Object} [mOptions] The options that influence when the throttled method will be invoked.
@param {int} [mOptions.wait=0] The amount of milliseconds to wait until actually invoking the method.
@param {boolean} [mOptions.leading=true] Whether the method should be invoked on the first call.
@param {boolean} [mOptions.asyncLeading=false] Whether the leading invocation should be asynchronous.
@returns {Function} Returns the throttled method.
Invokes a method in a certain interval regardless of how many times it was called .
Returns a function that will call fn after a specified number of milliseconds.