code: function _GroupLock(sGroupId, bLocked, oOwner, iSerialNumber) {
  		this.sGroupId = sGroupId;
  		this.bLocked = bLocked;
  		this.oOwner = oOwner;
  		// maps a group ID to a promise waiting for it, see waitFor
  		this.mPromiseForGroup = {};
  		// maps a group ID to the resolve function of the promise above
  		this.mResolveFunctionForGroup = {};
  		this.iSerialNumber = iSerialNumber === undefined ? Infinity : iSerialNumber;
  	}
docs: Constructs a potential lock for the given group ID. The group ID may be left empty initially,
  you can set it later exactly once. A group lock may be created locked or unlocked. If locked,
  its {@link #waitFor} returns a promise that is resolved when the lock is unlocked. If a
  locked group lock does not have a group ID yet, it blocks all groups until the group is
  specified via {@link #setGroupId}.
  
  @param {string} [sGroupId]
  The group ID
  @param {boolean} [bLocked=false]
  Whether the lock is locked
  @param {object} [oOwner]
  The lock's owner for debugging
  @param {number} [iSerialNumber=Infinity]
  A serial number which may be used on unlock
  
  @alias sap.ui.model.odata.v4.lib._GroupLock
  @constructor
  @private