code: function visit(aRequests, aResponses) {
  			var oCause;
  
  			aRequests.forEach(function (vRequest, index) {
  				var oError,
  					sETag,
  					oResponse,
  					vResponse = aResponses[index];
  
  				if (Array.isArray(vResponse)) {
  					visit(vRequest, vResponse);
  				} else if (!vResponse) {
  					oError = new Error(
  						"HTTP request was not processed because the previous request failed");
  					oError.cause = oCause;
  					oError.$reported = true; // do not create a message for this error
  					vRequest.$reject(oError);
  				} else if (vResponse.status >= 400) {
  					vResponse.getResponseHeader = getResponseHeader;
  					oCause = _Helper.createError(vResponse, "Communication error", vRequest.url,
  						vRequest.$resourcePath);
  					reject(oCause, vRequest);
  				} else {
  					if (vResponse.responseText) {
  						try {
  							that.doCheckVersionHeader(getResponseHeader.bind(vResponse),
  								vRequest.url, true);
  							oResponse = that.doConvertResponse(JSON.parse(vResponse.responseText),
  								vRequest.$metaPath);
  						} catch (oErr) {
  							vRequest.$reject(oErr);
  							return;
  						}
  					} else { // e.g. 204 No Content
  						oResponse = {/*null object pattern*/};
  					}
  					that.reportUnboundMessagesAsJSON(vRequest.url,
  						getResponseHeader.call(vResponse, "sap-messages"));
  					sETag = getResponseHeader.call(vResponse, "ETag");
  					if (sETag) {
  						oResponse["@odata.etag"] = sETag;
  					}
  					vRequest.$resolve(oResponse);
  				}
  			});
  		}
docs: /*
  Visits the given request/response pairs, rejecting or resolving the corresponding
  promises accordingly.
  
  @param {object[]} aRequests
  @param {object[]} aResponses