function checkNestedAnnotations(assert, oAnnotations, oExpectedProductAnnotations) {
		// annotations at array values still present
		assert.deepEqual(
			oAnnotations["NorthwindModel.Product"]["com.sap.vocabularies.UI.v1.LineItem"]
				["com.sap.vocabularies.UI.v1.Criticality"],
			{"Path" : "Criticality"});
		assert.deepEqual(
			oAnnotations["NorthwindModel.Product"]["com.sap.vocabularies.UI.v1.LineItem#foo"]
				["com.sap.vocabularies.UI.v1.Criticality"],
			{"Path" : "Criticality"});
		assert.deepEqual(
			oAnnotations["NorthwindModel.Product"]["com.sap.vocabularies.UI.v1.LineItem#foo"]
				["com.sap.vocabularies.UI.v1.Criticality#bar"],
			{"Path" : "Criticality/bar"});
		assert.deepEqual(
			oAnnotations["NorthwindModel.Product"]["com.sap.vocabularies.UI.v1.Facets"][0]
				.Facets["com.sap.vocabularies.Common.v1.Label"],
			{"String" : "Supplier Identification"});
		assert.deepEqual(
			oAnnotations["NorthwindModel.Product"]["unittest.ui5.parentAnnotation"]
				["unittest.ui5.dynamicExpression3"]
				.If["com.sap.vocabularies.Common.v1.Label"],
			{"String" : "Who am I?"});
		assert.deepEqual(
			oAnnotations["NorthwindModel.Product"]["unittest.ui5.parentAnnotation"]
				["unittest.ui5.dynamicExpression6"].Apply.Parameters[0].Value
				["com.sap.vocabularies.Common.v1.Label"],
			{"String" : "Who am I?"});

		// annotations at array values can be restored later on!
		assert.deepEqual(oAnnotations.annotationsAtArrays, [
			["NorthwindModel.Product", "com.sap.vocabularies.UI.v1.LineItem",
				"com.sap.vocabularies.UI.v1.Criticality"],
			["NorthwindModel.Product", "com.sap.vocabularies.UI.v1.LineItem#foo",
				"com.sap.vocabularies.UI.v1.Criticality"],
			["NorthwindModel.Product", "com.sap.vocabularies.UI.v1.LineItem#foo",
				"com.sap.vocabularies.UI.v1.Criticality#bar"],
			["NorthwindModel.Product", "com.sap.vocabularies.UI.v1.Facets", 0, "Facets",
				"com.sap.vocabularies.Common.v1.Label"],
			["NorthwindModel.Product", "unittest.ui5.parentAnnotation",
				"unittest.ui5.dynamicExpression3", "If",
				"com.sap.vocabularies.Common.v1.Label"],
			["NorthwindModel.Product", "unittest.ui5.parentAnnotation",
				"unittest.ui5.dynamicExpression6", "Apply", "Parameters", 0, "Value",
				"com.sap.vocabularies.Common.v1.Label"],
			["NorthwindModel.Product", "com.sap.vocabularies.UI.v1.LineItem#inherited",
				"com.sap.vocabularies.UI.v1.Criticality"]
		]);

		assert.deepEqual(oAnnotations["NorthwindModel.Product"], oExpectedProductAnnotations);
		deepContains(assert, oAnnotations["NorthwindModel.Product"], oExpectedProductAnnotations,
			"NorthwindModel.Product");
	}
Checks that nested annotations work as expected.

@param {object} assert - QUnit.assert instance
@param {object} oAnnotations - map of all annotations
@param {object} oExpectedProductAnnotations - expected annotations for NorthwindModel.Product