code: function Cache(oRequestor, sResourcePath, mQueryOptions, bSortExpandSelect,
  			fnGetOriginalResourcePath) {
  		this.bActive = true;
  		this.mChangeListeners = {}; // map from path to an array of change listeners
  		this.fnGetOriginalResourcePath = fnGetOriginalResourcePath;
  		this.sMetaPath = _Helper.getMetaPath("/" + sResourcePath);
  		this.mPatchRequests = {}; // map from path to an array of (PATCH) promises
  		// a promise with attached properties $count, $resolve existing while deletes are pending
  		this.oPendingDeletePromise = null;
  		this.mPostRequests = {}; // map from path to an array of entity data (POST bodies)
  		this.oRequestor = oRequestor;
  		this.sResourcePath = sResourcePath;
  		this.bSortExpandSelect = bSortExpandSelect;
  		this.bSentReadRequest = false;
  		this.oTypePromise = undefined;
  		this.setQueryOptions(mQueryOptions);
  	}
docs: ********************************************************************************************* Cache ********************************************************************************************* 
  Base class for the various caches.
  
  @param {sap.ui.model.odata.v4.lib._Requestor} oRequestor
  The requestor
  @param {string} sResourcePath
  A resource path relative to the service URL
  @param {object} [mQueryOptions]
  A map of key-value pairs representing the query string
  @param {boolean} [bSortExpandSelect=false]
  Whether the paths in $expand and $select shall be sorted in the cache's query string;
  note that this flag can safely be ignored for all "new" features (after 1.47) which
  should just sort always
  @param {function} [fnGetOriginalResourcePath]
  A function that returns the cache's original resource path to be used to build the target
  path for bound messages; if it is not given or returns nothing, <code>sResourcePath</code>
  is used instead. See {@link #getOriginalResourcePath}.
  
  @private