function _resolveTimezoneTranslationStructure (oNode, sKey, oResult, aParentTranslations) {
		aParentTranslations = aParentTranslations ? aParentTranslations.slice() : [];
		oResult = oResult || {};

		sKey = sKey || "";
		Object.keys(oNode).forEach(function (sChildKey) {
			var vChildNode = oNode[sChildKey];
			if (typeof vChildNode === "object") {
				var aParentTranslationForChild = aParentTranslations.slice();
				var sParent = vChildNode["_parent"];
				if (sParent) {
					aParentTranslationForChild.push(sParent);
				}
				_resolveTimezoneTranslationStructure(vChildNode, sKey + sChildKey + "/", oResult, aParentTranslationForChild);
			} else if (typeof vChildNode === "string" && sChildKey !== "_parent") {
				var sParents = aParentTranslations.length ? aParentTranslations.join(", ") + ", " : "";
				oResult[sKey + sChildKey] = sParents + vChildNode;
			}
		});
		return oResult;
	}
Creates a flat map from an object structure which contains a link to the parent ("_parent").
The values should contain the parent(s) and the element joined by <code>", "</code>.
The keys are the keys of the object structure joined by "/" excluding "_parent".

E.g. input
<code>
{
    a: {
        a1: {
            a11: "A11",
            _parent: "A1"
        },
        _parent: "A"
    }
}
</code>

output:
<code>
{
    "a/a1/a11": "A, A1, A11"
}
</code>

@param {object} oNode the node which will be processed
@param {string} [sKey=""] the key inside the node which should be processed
@param {object} [oResult={}] the result which is passed through the recursion
@param {string[]} [aParentTranslations=[]] the list of parent translations, e.g. ["A", "A1"]
@returns {Object<string, string>} object map with key being the keys joined by "/" and the values joined by ", ".
@private