function findAction(mActionMap) {
			return Object.keys(mActionMap)
			.map(function(sCommandName) {
				var vAction = mActionMap[sCommandName];
				if (sCommandName === "add" && !vAction.changeType) {
					// Handle nested subactions
					return {
						delegate: "addDelegateProperty",
						custom: "customAdd"
					}[findAction(vAction)];
				}
				try {
					var oActionData = evaluateAction(vAction, oElement);
					return oActionData && (oActionData.changeType === sChangeType) && sCommandName;
				} catch (vError) {
					// If a function action expects to be called with a certain element
					// it might throw an error when trying with other/without elements
					// Silently fail in such cases
					return undefined;
				}
			})
			.filter(Boolean)[0];
		}
Returns the command name for the action of the given change type
@param {string} sChangeType Name of the change type
@param {object} oElement Element instance
@param {string} [sAggregationName] Aggregation to which the action belongs
@return {string} Name of the command
@public