function iterateDependentQueue(mChangesMap, sControlId) {
		var aCoveredChanges = [];
		var aDependenciesToBeDeleted = [];
		var aPromises = [];
		if (mChangesMap.dependencyRemovedInLastBatch[sControlId]) {
			mChangesMap.dependencyRemovedInLastBatch[sControlId].forEach(function(sDependencyKey) {
				var oDependency = mChangesMap.mDependencies[sDependencyKey];
				if (
					oDependency
					&& oDependency.dependencies.length === 0
					&& !(oDependency.controlsDependencies && oDependency.controlsDependencies.length)
				) {
					aDependenciesToBeDeleted.push(sDependencyKey);
					aCoveredChanges.push(oDependency.changeObject.getId());
					if (oDependency[PENDING]) {
						aPromises.push(function() {
							return oDependency[PENDING]();
						});
					}
				}
			});
		}

		return Utils.execPromiseQueueSequentially(aPromises).then(function(aCoveredChanges, aDependenciesToBeDeleted, sControlId) {
			delete mChangesMap.dependencyRemovedInLastBatch[sControlId];
			aDependenciesToBeDeleted.forEach(function(sDependencyKey) {
				delete mChangesMap.mDependencies[sDependencyKey];
			});

			aCoveredChanges.forEach(function(sChangeId) {
				DependencyHandler.resolveDependenciesForChange(mChangesMap, sChangeId, sControlId);
			});

			return !!aCoveredChanges.length;
		}.bind(undefined, aCoveredChanges, aDependenciesToBeDeleted, sControlId));
	}
/**
	 * Iterating over <code>mDependencies</code> once, executing relevant dependencies, and clearing dependencies queue.
	 *
	 * @param {object} mChangesMap - Changes map
	 * @param {string} sControlId - ID of the control
	 * @returns {Promise|sap.ui.fl.Utils.FakePromise} Returns promise for asynchronous or FakePromise for synchronous processing scenario
	 * @private
	 */
Iterating over mDependencies once, executing relevant dependencies, and clearing dependencies queue.
@param {object} mChangesMap - Changes map
@param {string} sControlId - ID of the control
@returns {Promise|sap.ui.fl.Utils.FakePromise} Returns promise for asynchronous or FakePromise for synchronous processing scenario
@private
Iterating over mDependencies once executing relevant dependencies and clearing dependencies queue . @param { object } mChangesMap - Changes map @param { string } sControlId - ID of the control @returns { Promise|sap . ui . fl . Utils . FakePromise } Returns promise for asynchronous or FakePromise for synchronous processing scenario @private
function iterateDependentQueue(mChangesMap, sControlId) {
		var aCoveredChanges = [];
		var aDependenciesToBeDeleted = [];
		var aPromises = [];
		if (mChangesMap.dependencyRemovedInLastBatch[sControlId]) {
			mChangesMap.dependencyRemovedInLastBatch[sControlId].forEach(function(sDependencyKey) {
				var oDependency = mChangesMap.mDependencies[sDependencyKey];
				if (
					oDependency
					&& oDependency.dependencies.length === 0
					&& !(oDependency.controlsDependencies && oDependency.controlsDependencies.length)
				) {
					aDependenciesToBeDeleted.push(sDependencyKey);
					aCoveredChanges.push(oDependency.changeObject.getId());
					if (oDependency[PENDING]) {
						aPromises.push(function() {
							return oDependency[PENDING]();
						});
					}
				}
			});
		}
		return Utils.execPromiseQueueSequentially(aPromises).then(function(aCoveredChanges, aDependenciesToBeDeleted, sControlId) {
			delete mChangesMap.dependencyRemovedInLastBatch[sControlId];
			aDependenciesToBeDeleted.forEach(function(sDependencyKey) {
				delete mChangesMap.mDependencies[sDependencyKey];
			});
			aCoveredChanges.forEach(function(sChangeId) {
				DependencyHandler.resolveDependenciesForChange(mChangesMap, sChangeId, sControlId);
			});
			return !!aCoveredChanges.length;
		}.bind(undefined, aCoveredChanges, aDependenciesToBeDeleted, sControlId));
	}
function iterateDependentQueue ( mChangesMap , sControlId ) { var aCoveredChanges = [ ] ; var aDependenciesToBeDeleted = [ ] ; var aPromises = [ ] ; if ( mChangesMap . dependencyRemovedInLastBatch [ sControlId ] ) { mChangesMap . dependencyRemovedInLastBatch [ sControlId ] . forEach ( function ( sDependencyKey ) { var oDependency = mChangesMap . mDependencies [ sDependencyKey ] ; if ( oDependency && oDependency . dependencies . length === 0 && ! ( oDependency . controlsDependencies && oDependency . controlsDependencies . length ) ) { aDependenciesToBeDeleted . push ( sDependencyKey ) ; aCoveredChanges . push ( oDependency . changeObject . getId ( ) ) ; if ( oDependency [ PENDING ] ) { aPromises . push ( function ( ) { return oDependency [ PENDING ] ( ) ; } ) ; } } } ) ; } return Utils . execPromiseQueueSequentially ( aPromises ) . then ( function ( aCoveredChanges , aDependenciesToBeDeleted , sControlId ) { delete mChangesMap . dependencyRemovedInLastBatch [ sControlId ] ; aDependenciesToBeDeleted . forEach ( function ( sDependencyKey ) { delete mChangesMap . mDependencies [ sDependencyKey ] ; } ) ; aCoveredChanges . forEach ( function ( sChangeId ) { DependencyHandler . resolveDependenciesForChange ( mChangesMap , sChangeId , sControlId ) ; } ) ; return ! ! aCoveredChanges . length ; } . bind ( undefined , aCoveredChanges , aDependenciesToBeDeleted , sControlId ) ) ; }
Iterating over <code>mDependencies</code> once, executing relevant dependencies, and clearing dependencies queue.
Iterating over <code > mDependencies< / code > once executing relevant dependencies and clearing dependencies queue .