private void StartVisualTreeAssetTracking(ILiveReloadAssetTracker <VisualTreeAsset> tracker, VisualTreeAsset asset) { int dirtyCount = tracker.StartTrackingAsset(asset); if (!m_AssetToTrackerMap.TryGetValue(asset, out var trackers)) { trackers = new VisualTreeAssetToTrackMappingEntry() { m_LastDirtyCount = dirtyCount, m_LastElementCount = asset.visualElementAssets.Count, m_LastInlinePropertiesCount = asset.inlineSheet.rules.Sum(r => r.properties.Length), m_LastAttributePropertiesDirtyCount = asset.GetAttributePropertiesDirtyCount(), m_Trackers = new HashSet <ILiveReloadAssetTracker <VisualTreeAsset> >() }; m_AssetToTrackerMap[asset] = trackers; } trackers.m_Trackers.Add(tracker); }