private void AddScopeElement(INameScope scope, ElementAccessor element, ref bool duplicateElements, bool allowDuplicates)
{
if (scope == null)
return;
ElementAccessor scopeElement = (ElementAccessor)scope[element.Name, element.Namespace];
if (scopeElement != null)
{
if (!allowDuplicates)
{
throw new InvalidOperationException(SR.Format(SR.XmlDuplicateElementInScope, element.Name, element.Namespace));
}
if (scopeElement.Mapping.TypeDesc != element.Mapping.TypeDesc)
{
throw new InvalidOperationException(SR.Format(SR.XmlDuplicateElementInScope1, element.Name, element.Namespace));
}
duplicateElements = true;
}
else
{
scope[element.Name, element.Namespace] = element;
}
}