code: function _submit(){
  			// execute the request and use the metadata if available
  
  			if (that.bUseBatch) {
  				that.updateSecurityToken();
  				// batch requests only need the path without the service URL
  				// extract query of url and combine it with the path...
  				var sUriQuery = URI.parse(oRequest.requestUri).query;
  				//var sRequestUrl = sPath.replace(/\/$/, ""); // remove trailing slash if any
  				//sRequestUrl += sUriQuery ? "?" + sUriQuery : "";
  				var sRequestUrl = that._createRequestUrl(sPath, null, sUriQuery, that.bUseBatch);
  				oRequest = that._createRequest(sRequestUrl, "GET", true);
  				var oBatchRequest = that._createBatchRequest([oRequest],true);
  				oRequestHandle = that._request(oBatchRequest, _handleSuccess, _handleError, OData.batchHandler, undefined, that.getServiceMetadata());
  			} else {
  				oRequestHandle = that._request(oRequest, _handleSuccess, _handleError, that.oHandler, undefined, that.getServiceMetadata());
  			}
  
  			if (fnHandleUpdate) {
  				// Create a wrapper for the request handle to be able to differentiate
  				// between intentionally aborted requests and failed requests
  				var oWrappedHandle = {
  					abort: function() {
  						oRequestHandle.bAborted = true;
  						oRequestHandle.abort();
  					}
  				};
  				fnHandleUpdate(oWrappedHandle);
  			}
  		}
docs: this method is used to retrieve all desired data. It triggers additional read requests if the server paging size
  permits to return all the requested data. This could only happen for servers with support for oData > 2.0.