protected override void OnPropertyChanged(PropertyChangedEventArgs e)
 {
     if (e.PropertyName == nameof(SerializationId) && !m_updatingSerializationId)
     {
         if (m_panelInstanceData == null)
         {
             CreateInstanceDataFromSerializationId(this.SerializationId);
         }
     }
     else if (e.PropertyName == nameof(IsOpen))
     {
         if (!this.IsOpen)
         {
             if (m_panelInstanceData != null)
             {
                 m_panelInstanceData.Dispose();
             }
         }
     }
     base.OnPropertyChanged(e);
 }