function addUnlockTask() {
			that.oModel.addPrerenderingTask(function () {
				if (that.oReadGroupLock === oGroupLock) {
					iCount -= 1;
					if (iCount > 0) {
						// Use a promise to get out of the prerendering loop
						Promise.resolve().then(addUnlockTask);
					} else {
						// It is still the same, unused lock
						Log.debug("Timeout: unlocked " + oGroupLock, null, sClassName);
						that.removeReadGroupLock();
					}
				}
			});
		}
Creates a group lock and keeps it in this.oReadGroupLock.
ODataListBinding#getContexts or ODataContextBinding#fetchValue are expected to use and remove
it. To ensure that the queue does not remain locked forever the lock is unlocked and taken
out again if it still resides there in the chosen prerendering.

If not specified otherwise, the function removes the lock in the 2nd prerendering, because
there are controls that render first before they request data from the model (for example the
sap.ui.table.Table with VisibleRowCountMode=Auto).

@param {string} [sGroupId]
  The group ID
@param {boolean} [bLocked]
  Whether the group lock is locked
@param {number} [iCount=0]
  The number of additional prerenderings to wait before removing a stale lock again

@private