src/sap.ui.core/src/sap/ui/model/odata/ODataMessageParser.js
function filterDuplicates(/*ref*/ aMessages){
		if (aMessages.length > 1) {
			for (var iIndex = 1; iIndex < aMessages.length; iIndex++) {
				if (aMessages[0].getCode() == aMessages[iIndex].getCode() && aMessages[0].getMessage() == aMessages[iIndex].getMessage()) {
					aMessages.shift(); // Remove outer error, since inner error is more detailed
					break;
				}
			}
		}
	}
function filterDuplicates(/*ref*/ aMessages){
		if (aMessages.length > 1) {
			for (var iIndex = 1; iIndex < aMessages.length; iIndex++) {
				if (aMessages[0].getCode() == aMessages[iIndex].getCode() && aMessages[0].getMessage() == aMessages[iIndex].getMessage()) {
					aMessages.shift(); // Remove outer error, since inner error is more detailed
					break;
				}
			}
		}
	}
function filterDuplicates ( /*ref*/ aMessages ) { if ( aMessages . length > 1 ) { for ( var iIndex = 1 ; iIndex < aMessages . length ; iIndex ++ ) { if ( aMessages [ 0 ] . getCode ( ) == aMessages [ iIndex ] . getCode ( ) && aMessages [ 0 ] . getMessage ( ) == aMessages [ iIndex ] . getMessage ( ) ) { aMessages . shift ( ) ; // Remove outer error, since inner error is more detailed break ; } } } }
The message container returned by the backend could contain duplicate messages in some scenarios.
The outer error could be identical to an inner error. This makes sense when the outer error is only though as error message container
for the inner errors and therefore shouldn't be end up in a seperate UI message.

This function is used to filter out not relevant outer errors.
@example
{
"error": {
"code": "ABC",
"message": {
"value": "Bad things happened."
},
"innererror": {
"errordetails": [
{
"code": "ABC",
"message": "Bad things happened."
},
...
@private
The message container returned by the backend could contain duplicate messages in some scenarios . The outer error could be identical to an inner error . This makes sense when the outer error is only though as error message container for the inner errors and therefore shouldn t be end up in a seperate UI message .