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);
	}
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);
	}
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 ) ; }
********************************************************************************************* 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
********************************************************************************************* Cache ********************************************************************************************* Base class for the various caches .
Creates a new cache instance.