function createReadRequest(requestHandle) {
			var oEntityType, oFilter, sFilterParams, mRequests, sSorterParams, sUrl,
				sDeepPath = that.resolveDeep(sPath, oContext),
				sResourcePath = that._getResourcePath(bCanonical, sDeepPath, sPath, oContext);

			// Add filter/sorter to URL parameters
			sSorterParams = ODataUtils.createSortParams(aSorters);
			if (sSorterParams) {
				aUrlParams.push(sSorterParams);
			}

			oEntityType = that.oMetadata._getEntityTypeByPath(sResourcePath);

			oFilter = FilterProcessor.groupFilters(aFilters);
			sFilterParams = ODataUtils.createFilterParams(oFilter, that.oMetadata, oEntityType);
			if (sFilterParams) {
				aUrlParams.push(sFilterParams);
			}

			sUrl = that._createRequestUrlWithNormalizedPath(sResourcePath, aUrlParams,
				that.bUseBatch);
			oRequest = that._createRequest(sUrl, sDeepPath, sMethod, mHeaders, null, /*sETag*/undefined,
				undefined, bUpdateAggregatedMessages, bSideEffects, fnRequest);

			mRequests = that.mRequests;
			if (sGroupId in that.mDeferredGroups) {
				mRequests = that.mDeferredRequests;
			}
			that._pushToRequestQueue(mRequests, sGroupId, null, oRequest, fnSuccess, fnError, requestHandle, false);

			return oRequest;
		}
Triggers a <code>GET</code> request to the OData service.

@param {string} sPath
  The path as specified in {@link #read}
@param {object} [mParameters]
  The parameters as specified in {@link #read}
@param {boolean} [bSideEffects]
  Whether to read data as side effects
@param {function} [fnRequest] Request function which can handle 503 "Retry-After" responses,
  see {@link sap.ui.model.odata.v2.ODataModel#_request}
@return {object}
  An object which has an <code>abort</code> function to abort the current request.

@private