function addMessage(oMessage, iNumericSeverity, bTechnical) {
				var oRawMessage = {
						additionalTargets : _Helper.getAdditionalTargets(oMessage),
						code : oMessage.code,
						message : oMessage.message,
						numericSeverity : iNumericSeverity,
						technical : bTechnical || oMessage.technical,
						// use "@$ui5." prefix to overcome name collisions with instance annotations
						// returned from back end.
						"@$ui5.error" : oError,
						"@$ui5.originalMessage" : oMessage
					};

				Object.keys(oMessage).forEach(function (sProperty) {
					if (sProperty[0] === '@') {
						// cannot use .getAnnotation() for compatibility reasons
						if (sProperty.endsWith(".numericSeverity")) {
							oRawMessage.numericSeverity = oMessage[sProperty];
						} else if (sProperty.endsWith(".longtextUrl") && oError.requestUrl
								&& oMessage[sProperty]) {
							oRawMessage.longtextUrl
								= _Helper.makeAbsolute(oMessage[sProperty], oError.requestUrl);
						}
					}
				});

				if (typeof oMessage.target === "string") {
					if (oMessage.target[0] === "$" || !oError.resourcePath) {
						// target for the bound message is a system query option or cannot be
						// resolved -> report as unbound message
						oRawMessage.message = oMessage.target + ": " + oMessage.message;
					} else {
						oRawMessage.target = oMessage.target;
					}
				}
				oRawMessage.transition = true;
				aMessages.push(oRawMessage);
			}
/*
			 * Creates a raw message object taking all relevant properties, converts the annotations
			 * for numeric severity and longtext to the corresponding properties and adds it to one
			 * of the arrays to be reported later.
			 * @param {object} oMessage The message
			 * @param {number} [iNumericSeverity] The numeric severity
			 * @param {boolean} [bTechnical] Whether the message is reported as technical
			 */
Creates a raw message object taking all relevant properties, converts the annotations
for numeric severity and longtext to the corresponding properties and adds it to one
of the arrays to be reported later.
@param {object} oMessage The message
@param {number} [iNumericSeverity] The numeric severity
@param {boolean} [bTechnical] Whether the message is reported as technical
Creates a raw message object taking all relevant properties converts the annotations for numeric severity and longtext to the corresponding properties and adds it to one of the arrays to be reported later . @param { object } oMessage The message @param { number } [ iNumericSeverity ] The numeric severity @param { boolean } [ bTechnical ] Whether the message is reported as technical
function addMessage(oMessage, iNumericSeverity, bTechnical) {
				var oRawMessage = {
						additionalTargets : _Helper.getAdditionalTargets(oMessage),
						code : oMessage.code,
						message : oMessage.message,
						numericSeverity : iNumericSeverity,
						technical : bTechnical || oMessage.technical,
						"@$ui5.error" : oError,
						"@$ui5.originalMessage" : oMessage
					};
				Object.keys(oMessage).forEach(function (sProperty) {
					if (sProperty[0] === '@') {
						if (sProperty.endsWith(".numericSeverity")) {
							oRawMessage.numericSeverity = oMessage[sProperty];
						} else if (sProperty.endsWith(".longtextUrl") && oError.requestUrl
								&& oMessage[sProperty]) {
							oRawMessage.longtextUrl
								= _Helper.makeAbsolute(oMessage[sProperty], oError.requestUrl);
						}
					}
				});
				if (typeof oMessage.target === "string") {
					if (oMessage.target[0] === "$" || !oError.resourcePath) {
						oRawMessage.message = oMessage.target + ": " + oMessage.message;
					} else {
						oRawMessage.target = oMessage.target;
					}
				}
				oRawMessage.transition = true;
				aMessages.push(oRawMessage);
			}
function addMessage ( oMessage , iNumericSeverity , bTechnical ) { var oRawMessage = { additionalTargets : _Helper . getAdditionalTargets ( oMessage ) , code : oMessage . code , message : oMessage . message , numericSeverity : iNumericSeverity , technical : bTechnical || oMessage . technical , "@$ui5.error" : oError , "@$ui5.originalMessage" : oMessage } ; Object . keys ( oMessage ) . forEach ( function ( sProperty ) { if ( sProperty [ 0 ] === '@' ) { if ( sProperty . endsWith ( ".numericSeverity" ) ) { oRawMessage . numericSeverity = oMessage [ sProperty ] ; } else if ( sProperty . endsWith ( ".longtextUrl" ) && oError . requestUrl && oMessage [ sProperty ] ) { oRawMessage . longtextUrl = _Helper . makeAbsolute ( oMessage [ sProperty ] , oError . requestUrl ) ; } } } ) ; if ( typeof oMessage . target === "string" ) { if ( oMessage . target [ 0 ] === "$" || ! oError . resourcePath ) { oRawMessage . message = oMessage . target + ": " + oMessage . message ; } else { oRawMessage . target = oMessage . target ; } } oRawMessage . transition = true ; aMessages . push ( oRawMessage ) ; }
Creates a raw message object taking all relevant properties, converts the annotations
 for numeric severity and longtext to the corresponding properties and adds it to one
 of the arrays to be reported later.
Creates a raw message object taking all relevant properties converts the annotations for numeric severity and longtext to the corresponding properties and adds it to one of the arrays to be reported later .
// use "@$ui5." prefix to overcome name collisions with instance annotations // returned from back end. // cannot use .getAnnotation() for compatibility reasons // target for the bound message is a system query option or cannot be // resolved -> report as unbound message