protected virtual void ReadXmlElement(XmlReader xmlReader)
 {
     if (!(xmlReader.Name != "ScopeValues"))
     {
         List <ScopeValue> list = new List <ScopeValue>();
         using (XmlReader xmlReader2 = xmlReader.ReadSubtree())
         {
             while (xmlReader2.Read())
             {
                 if (xmlReader2.NodeType == XmlNodeType.Element && xmlReader2.Name == "ScopeValue")
                 {
                     using (XmlReader xmlReader3 = xmlReader.ReadSubtree())
                     {
                         ScopeValue scopeValue = new ScopeValue();
                         scopeValue.ReadXml(xmlReader3);
                         list.Add(scopeValue);
                     }
                 }
             }
         }
         if (list.Count > 0)
         {
             this.m_scopeValues = list.ToArray();
         }
         else
         {
             this.m_scopeValues = null;
         }
     }
 }
 public bool Equals(ScopeValue scopeValue)
 {
     if (object.ReferenceEquals(this, scopeValue))
     {
         return(true);
     }
     if (object.ReferenceEquals(scopeValue, null))
     {
         return(false);
     }
     return(this.Equals(scopeValue, null));
 }
 public bool Equals(ScopeValue scopeValue, IEqualityComparer <object> comparer)
 {
     if (object.ReferenceEquals(scopeValue, null))
     {
         return(false);
     }
     if (this.ScopeType != scopeValue.ScopeType)
     {
         return(false);
     }
     if (comparer == null)
     {
         return(ObjectSerializer.Equals(base.Value, scopeValue.Value, base.TypeCode, scopeValue.TypeCode));
     }
     return(comparer.Equals(base.Value, scopeValue.Value));
 }