protected virtual void InternalRefreshBackingDataList() { try { if (m_rawDataListResourceLock.Owned) { return; } if (WorldManager.Instance.IsWorldSaving) { return; } if (WorldManager.Instance.InternalGetResourceLock() == null) { return; } if (WorldManager.Instance.InternalGetResourceLock().Owned) { return; } m_rawDataListResourceLock.AcquireExclusive(); if (m_backingObject == null) { return; } var rawValue = BaseObject.InvokeEntityMethod(m_backingObject, m_backingSourceMethod); if (rawValue == null) { return; } m_rawDataList = UtilityFunctions.ConvertList(rawValue); m_rawDataListResourceLock.ReleaseExclusive(); } catch (Exception ex) { LogManager.ErrorLog.WriteLine(ex); m_rawDataListResourceLock.ReleaseExclusive(); } }