/// <summary> /// Remove duplicate annotations that might be added /// </summary> /// <param name="payload">payload to remove duplicate annotations for</param> public static void RemoveEPMDuplicationAnnotations(ODataPayloadElement payload) { ODataLibPayloadElementComparer comparer = new ODataLibPayloadElementComparer(); for (int i = 0; i < payload.Annotations.Count; i++) { var epmAnn1 = payload.Annotations[i] as XmlTreeAnnotation; if (epmAnn1 == null) { continue; } for (int j = i + 1; j < payload.Annotations.Count; j++) { var epmAnn2 = payload.Annotations[j] as XmlTreeAnnotation; if (epmAnn2 == null) { continue; } if (epmAnn1.LocalName == epmAnn2.LocalName && epmAnn1.NamespaceName == epmAnn2.NamespaceName) { payload.Annotations.RemoveAt(j); } } } }