code: function fetchPrimitiveValue(oContext, sPath, bExternalFormat, bCached) {
  		var oError,
  			aPromises = [oContext.fetchValue(sPath, null, bCached)],
  			sResolvedPath = oContext.getPath(sPath);
  
  		if (bExternalFormat) {
  			aPromises.push(
  				oContext.oModel.getMetaModel().fetchUI5Type(sResolvedPath));
  		}
  		return SyncPromise.all(aPromises).then(function (aResults) {
  			var oType = aResults[1],
  				vValue = aResults[0];
  
  			if (vValue && typeof vValue === "object") {
  				oError = new Error("Accessed value is not primitive: " + sResolvedPath);
  				oError.isNotPrimitive = true;
  				throw oError;
  			}
  			return bExternalFormat ? oType.formatValue(vValue, "string") : vValue;
  		});
  	}
docs: /*
  Fetches and formats the primitive value at the given path.
  
  @param {sap.ui.model.odata.v4.Context} oContext The context
  @param {string} sPath The requested path
  @param {boolean} [bExternalFormat=false]
  If <code>true</code>, the value is returned in external format using a UI5 type for the
  given property path that formats corresponding to the property's EDM type and constraints.
  @param {boolean} [bCached=false]
  Whether to return cached values only and not trigger a request
  @returns {sap.ui.base.SyncPromise} a promise on the formatted value