void IXmlSerializable.ReadXml(XmlReader reader)
{
if (reader.IsEmptyElement && !reader.HasAttributes)
{
return;
}
var contextInfo = new XmlSerializationContextInfo(reader, this);
var scopeName = SerializationContextHelper.GetSerializationReferenceManagerScopeName();
using (var scopeManager = ScopeManager<SerializationScope>.GetScopeManager(scopeName, () => new SerializationScope(SerializationFactory.GetXmlSerializer(), SerializationConfiguration)))
{
var serializer = scopeManager.ScopeObject.Serializer;
serializer.Deserialize(this, contextInfo, scopeManager.ScopeObject.Configuration);
}
}