function _removeMessage(oMessage) {
		var oProcessor = oMessage.getMessageProcessor(),
			sProcessorId = oProcessor && oProcessor.getId(),
			mProcessorMessages = mAllMessages[sProcessorId],
			aTargets;

		if (!mProcessorMessages) {
			return;
		}

		aTargets = oMessage.getTargets();
		if (!aTargets.length) { // unbound message => remove it from undefined entry
			aTargets = [undefined];
		}
		aTargets.forEach(function (sTarget) {
			var aMessages = mProcessorMessages[sTarget];

			if (aMessages) {
				for (var i = 0; i < aMessages.length; i++) {
					var oMsg = aMessages[i];
					if (deepEqual(oMsg, oMessage)) {
						aMessages.splice(i,1);
						--i; // Decrease counter as one element has been removed
					}
				}
				// delete empty message array
				if (mProcessorMessages[sTarget].length === 0) {
					delete mProcessorMessages[sTarget];
				}
			}
		});
	}
remove Message

@param {sap.ui.core.message.Message} oMessage The Message to remove
@private