code: function (mAnnotations, aSegments, bWarn) {
  		var i,
  			n = aSegments.length - 2,
  			sAnnotation = aSegments[n + 1],
  			oParent = mAnnotations,
  			sProperty = aSegments[n],
  			sSiblingName = sProperty + "@" + sAnnotation;
  
  		for (i = 0; i < n; i += 1) {
  			oParent = oParent && oParent[aSegments[i]];
  		}
  		if (oParent && Array.isArray(oParent[sProperty])) {
  			if (!(sSiblingName in oParent)) {
  				oParent[sSiblingName] = oParent[sProperty][sAnnotation];
  			}
  			if (!(sAnnotation in oParent[sProperty])) {
  				oParent[sProperty][sAnnotation] = oParent[sSiblingName];
  			}
  		} else if (bWarn) {
  			Log.warning("Wrong path to annotation at array", aSegments,
  				"sap.ui.model.odata.AnnotationParser");
  		}
  	}
docs: /*
  Sync annotations at arrays and their siblings.
  
  @param {object} mAnnotations
  The annotation map
  @param {string[]} aSegments
  Path of string or number segments pointing to annotation at array
  @param {boolean} bWarn
  Whether warnings are allowed
  
  @private
  @see AnnotationParser.backupAnnotationAtArray
  @see AnnotationParser.restoreAnnotationsAtArrays