Simplify caching: use single cache for all usages

This commit is contained in:
Fedor Isakov 2024-08-30 11:39:42 +02:00
parent caf5baf8dd
commit bec016671d
3 changed files with 58 additions and 351 deletions

View File

@ -2788,9 +2788,16 @@
<ref role="3cqZAo" node="6QH_LDtdTgs" resolve="typecheckingState" />
</node>
<node concept="liA8E" id="7Aoa2yV_HmT" role="2OqNvi">
<ref role="37wK5l" to="tj24:7Aoa2yVgCDl" resolve="updateUnitCachedData" />
<node concept="37vLTw" id="7Aoa2yV_HMj" role="37wK5m">
<ref role="3cqZAo" node="7mB3viLe1a2" resolve="demo" />
<ref role="37wK5l" to="tj24:7Aoa2yVqV_s" resolve="updateSharedCache" />
<node concept="2OqwBi" id="KkWtiKFGy5" role="37wK5m">
<node concept="liA8E" id="KkWtiKFHit" role="2OqNvi">
<ref role="37wK5l" to="mhbf:~SNode.getReference()" resolve="getReference" />
</node>
<node concept="2JrnkZ" id="KkWtiKFGya" role="2Oq$k0">
<node concept="37vLTw" id="7Aoa2yV_HMj" role="2JrQYb">
<ref role="3cqZAo" node="7mB3viLe1a2" resolve="demo" />
</node>
</node>
</node>
<node concept="1bVj0M" id="7Aoa2yV_IdU" role="37wK5m">
<node concept="gl6BB" id="7Aoa2yV_Iea" role="1bW2Oz">

View File

@ -3604,7 +3604,7 @@
</node>
</node>
<node concept="liA8E" id="1z4$59j6LAx" role="2OqNvi">
<ref role="37wK5l" to="tj24:4duYm8_mMNK" resolve="clearCaches" />
<ref role="37wK5l" to="tj24:4duYm8_mMNK" resolve="clearCache" />
<node concept="2OqwBi" id="1RYTbd7EFwZ" role="37wK5m">
<node concept="37vLTw" id="1z4$59j6NEW" role="2Oq$k0">
<ref role="3cqZAo" node="6l3eCxofJGR" resolve="node" />

View File

@ -5846,9 +5846,9 @@
<node concept="3clFb_" id="7Aoa2yVAE2W" role="jymVt">
<property role="TrG5h" value="getCacheHolder" />
<node concept="37vLTG" id="7Aoa2yVAM2J" role="3clF46">
<property role="TrG5h" value="unitRef" />
<property role="TrG5h" value="key" />
<node concept="3uibUv" id="7Aoa2yVAM2K" role="1tU5fm">
<ref role="3uigEE" to="mhbf:~SNodeReference" resolve="SNodeReference" />
<ref role="3uigEE" to="wyt6:~Object" resolve="Object" />
</node>
</node>
<node concept="3uibUv" id="7Aoa2yVAGZR" role="3clF45">
@ -5865,7 +5865,7 @@
</node>
</node>
<node concept="37vLTw" id="7Aoa2yVAPzB" role="2Oq$k0">
<ref role="3cqZAo" node="4Z$O9mrTa0z" resolve="unitCacheHolders" />
<ref role="3cqZAo" node="1T5MAgPeszY" resolve="sharedCacheHolders" />
</node>
</node>
</node>
@ -5882,9 +5882,9 @@
<node concept="3clFb_" id="At0yqMVCuW" role="jymVt">
<property role="TrG5h" value="isCacheUpToDate" />
<node concept="37vLTG" id="At0yqMWbwW" role="3clF46">
<property role="TrG5h" value="unitRef" />
<property role="TrG5h" value="key" />
<node concept="3uibUv" id="At0yqMWbwX" role="1tU5fm">
<ref role="3uigEE" to="mhbf:~SNodeReference" resolve="SNodeReference" />
<ref role="3uigEE" to="wyt6:~Object" resolve="Object" />
</node>
</node>
<node concept="10P_77" id="At0yqMW1zQ" role="3clF45" />
@ -5904,7 +5904,7 @@
</node>
</node>
<node concept="37vLTw" id="At0yqMWanu" role="2Oq$k0">
<ref role="3cqZAo" node="4Z$O9mrTa0z" resolve="unitCacheHolders" />
<ref role="3cqZAo" node="1T5MAgPeszY" resolve="sharedCacheHolders" />
</node>
</node>
</node>
@ -5949,124 +5949,8 @@
</node>
</node>
<node concept="2tJIrI" id="1T5MAgPi6KS" role="jymVt" />
<node concept="3clFb_" id="7Aoa2yVgCDl" role="jymVt">
<property role="TrG5h" value="updateUnitCachedData" />
<node concept="37vLTG" id="7Aoa2yVgCDm" role="3clF46">
<property role="TrG5h" value="unit" />
<node concept="3Tqbb2" id="7Aoa2yVgCDn" role="1tU5fm" />
</node>
<node concept="37vLTG" id="7Aoa2yVgCDo" role="3clF46">
<property role="TrG5h" value="updater" />
<node concept="3uibUv" id="7Aoa2yVgIiL" role="1tU5fm">
<ref role="3uigEE" to="82uw:~BiConsumer" resolve="BiConsumer" />
<node concept="3uibUv" id="7Aoa2yVgKSe" role="11_B2D">
<ref role="3uigEE" node="7i3KM7g1Hnp" resolve="CachedData" />
</node>
<node concept="3uibUv" id="7Aoa2yVlOxn" role="11_B2D">
<ref role="3uigEE" to="wyt6:~Boolean" resolve="Boolean" />
</node>
</node>
</node>
<node concept="3cqZAl" id="7Aoa2yVgT4L" role="3clF45" />
<node concept="3clFbS" id="7Aoa2yVgCDt" role="3clF47">
<node concept="3cpWs8" id="7Aoa2yVgCDu" role="3cqZAp">
<node concept="3cpWsn" id="7Aoa2yVgCDv" role="3cpWs9">
<property role="TrG5h" value="holder" />
<property role="3TUv4t" value="true" />
<node concept="3uibUv" id="7Aoa2yVgCDw" role="1tU5fm">
<ref role="3uigEE" node="4Z$O9mrQJw7" resolve="CacheHolder" />
</node>
<node concept="1rXfSq" id="7Aoa2yVgCDx" role="33vP2m">
<ref role="37wK5l" node="61G6TdC33Bp" resolve="getOrCreateUnitCacheHolder" />
<node concept="37vLTw" id="7Aoa2yVgCDy" role="37wK5m">
<ref role="3cqZAo" node="7Aoa2yVgCDm" resolve="unit" />
</node>
</node>
</node>
</node>
<node concept="3clFbH" id="7Aoa2yVgCDz" role="3cqZAp" />
<node concept="3SKdUt" id="7Aoa2yVgCD$" role="3cqZAp">
<node concept="1PaTwC" id="7Aoa2yVgCD_" role="1aUNEU">
<node concept="3oM_SD" id="7Aoa2yVgCDA" role="1PaTwD">
<property role="3oM_SC" value="get" />
</node>
<node concept="3oM_SD" id="7Aoa2yVgCDB" role="1PaTwD">
<property role="3oM_SC" value="a" />
</node>
<node concept="3oM_SD" id="7Aoa2yVgCDC" role="1PaTwD">
<property role="3oM_SC" value="mutex" />
</node>
<node concept="3oM_SD" id="7Aoa2yVgCDD" role="1PaTwD">
<property role="3oM_SC" value="on" />
</node>
<node concept="3oM_SD" id="7Aoa2yVgCDE" role="1PaTwD">
<property role="3oM_SC" value="holder" />
</node>
<node concept="3oM_SD" id="7Aoa2yVgCDF" role="1PaTwD">
<property role="3oM_SC" value="so" />
</node>
<node concept="3oM_SD" id="7Aoa2yVgCDG" role="1PaTwD">
<property role="3oM_SC" value="that" />
</node>
<node concept="3oM_SD" id="7Aoa2yVgCDH" role="1PaTwD">
<property role="3oM_SC" value="two" />
</node>
<node concept="3oM_SD" id="7Aoa2yVgCDI" role="1PaTwD">
<property role="3oM_SC" value="update" />
</node>
<node concept="3oM_SD" id="7Aoa2yVgCDJ" role="1PaTwD">
<property role="3oM_SC" value="sessions" />
</node>
<node concept="3oM_SD" id="7Aoa2yVgCDK" role="1PaTwD">
<property role="3oM_SC" value="can't" />
</node>
<node concept="3oM_SD" id="7Aoa2yVgCDL" role="1PaTwD">
<property role="3oM_SC" value="be" />
</node>
<node concept="3oM_SD" id="7Aoa2yVgCDM" role="1PaTwD">
<property role="3oM_SC" value="run" />
</node>
<node concept="3oM_SD" id="7Aoa2yVgCDN" role="1PaTwD">
<property role="3oM_SC" value="in" />
</node>
<node concept="3oM_SD" id="7Aoa2yVgCDO" role="1PaTwD">
<property role="3oM_SC" value="parallel" />
</node>
</node>
</node>
<node concept="1HWtB8" id="7Aoa2yVgCDP" role="3cqZAp">
<node concept="37vLTw" id="7Aoa2yVgCDQ" role="1HWFw0">
<ref role="3cqZAo" node="7Aoa2yVgCDv" resolve="holder" />
</node>
<node concept="3clFbS" id="7Aoa2yVgCDR" role="1HWHxc">
<node concept="3clFbF" id="7Aoa2yVjby5" role="3cqZAp">
<node concept="2OqwBi" id="7Aoa2yVjdaD" role="3clFbG">
<node concept="37vLTw" id="7Aoa2yVjby3" role="2Oq$k0">
<ref role="3cqZAo" node="7Aoa2yVgCDv" resolve="holder" />
</node>
<node concept="liA8E" id="7Aoa2yVje_9" role="2OqNvi">
<ref role="37wK5l" node="7Aoa2yVj0AN" resolve="updateCachedData" />
<node concept="37vLTw" id="7Aoa2yVjhuT" role="37wK5m">
<ref role="3cqZAo" node="7Aoa2yVgCDo" resolve="updater" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="P$JXv" id="7Aoa2yVgCDW" role="lGtFl">
<node concept="TZ5HA" id="7Aoa2yVgCDX" role="TZ5H$">
<node concept="1dT_AC" id="7Aoa2yVgCDY" role="1dT_Ay">
<property role="1dT_AB" value="FIXME either node&lt; &gt; or node-ref" />
</node>
</node>
</node>
<node concept="3Tm1VV" id="7Aoa2yVgCDZ" role="1B3o_S" />
</node>
<node concept="2tJIrI" id="4Dkptq1Q4Fm" role="jymVt" />
<node concept="3clFb_" id="7Aoa2yVqV_s" role="jymVt">
<property role="TrG5h" value="updateSharedCachedData" />
<property role="TrG5h" value="updateSharedCache" />
<node concept="37vLTG" id="KkWtiKy8Cz" role="3clF46">
<property role="TrG5h" value="key" />
<node concept="3uibUv" id="KkWtiKyb5F" role="1tU5fm">
@ -6186,37 +6070,6 @@
<node concept="3cqZAl" id="5HVB6JS1Tcb" role="3clF45" />
<node concept="3Tm1VV" id="1z4$59jNEeV" role="1B3o_S" />
<node concept="3clFbS" id="5HVB6JS1Tcd" role="3clF47">
<node concept="3clFbF" id="61G6TdDc3aB" role="3cqZAp">
<node concept="1rXfSq" id="61G6TdDc3a_" role="3clFbG">
<ref role="37wK5l" node="61G6TdDbzkU" resolve="updateAllUnitCacheHolders" />
<node concept="1bVj0M" id="7Mte5SKj4mM" role="37wK5m">
<node concept="37vLTG" id="7Mte5SKj4S3" role="1bW2Oz">
<property role="TrG5h" value="key" />
<node concept="3uibUv" id="4vBwiiVtPSw" role="1tU5fm">
<ref role="3uigEE" to="mhbf:~SNodeReference" resolve="SNodeReference" />
</node>
</node>
<node concept="37vLTG" id="7Mte5SKj5zG" role="1bW2Oz">
<property role="TrG5h" value="holder" />
<node concept="3uibUv" id="7Mte5SKj5UC" role="1tU5fm">
<ref role="3uigEE" node="4Z$O9mrQJw7" resolve="CacheHolder" />
</node>
</node>
<node concept="3clFbS" id="7Mte5SKj4mN" role="1bW5cS">
<node concept="3clFbF" id="7Mte5SKj6Ee" role="3cqZAp">
<node concept="2OqwBi" id="7Mte5SKj6Sz" role="3clFbG">
<node concept="37vLTw" id="7Mte5SKj6Ed" role="2Oq$k0">
<ref role="3cqZAo" node="7Mte5SKj5zG" resolve="holder" />
</node>
<node concept="liA8E" id="7Mte5SKj7mb" role="2OqNvi">
<ref role="37wK5l" node="5MNibEMYjj8" resolve="clearAllData" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="3clFbF" id="KkWtiKxHxa" role="3cqZAp">
<node concept="1rXfSq" id="KkWtiKxHxb" role="3clFbG">
<ref role="37wK5l" node="KkWtiKxrbT" resolve="updateAllSharedCacheHolders" />
@ -6248,11 +6101,6 @@
</node>
</node>
</node>
<node concept="3clFbF" id="61G6TdDcEcV" role="3cqZAp">
<node concept="1rXfSq" id="61G6TdDcEcT" role="3clFbG">
<ref role="37wK5l" node="61G6TdDcewU" resolve="dropUnitCacheHolders" />
</node>
</node>
<node concept="3clFbF" id="KkWtiKy4__" role="3cqZAp">
<node concept="1rXfSq" id="KkWtiKy4_A" role="3clFbG">
<ref role="37wK5l" node="KkWtiKxPxO" resolve="dropSharedCacheHolders" />
@ -6269,27 +6117,25 @@
</node>
<node concept="2tJIrI" id="7gMIJIy6bAQ" role="jymVt" />
<node concept="3clFb_" id="4duYm8_mMNK" role="jymVt">
<property role="TrG5h" value="clearCaches" />
<property role="TrG5h" value="clearCache" />
<node concept="37vLTG" id="4duYm8_mV8n" role="3clF46">
<property role="TrG5h" value="unitRef" />
<property role="TrG5h" value="key" />
<node concept="3uibUv" id="4duYm8_mWm6" role="1tU5fm">
<ref role="3uigEE" to="mhbf:~SNodeReference" resolve="SNodeReference" />
<ref role="3uigEE" to="wyt6:~Object" resolve="Object" />
</node>
</node>
<node concept="3cqZAl" id="4duYm8_mMNM" role="3clF45" />
<node concept="3clFbS" id="4duYm8_mMNO" role="3clF47">
<node concept="3clFbF" id="4duYm8_ndvw" role="3cqZAp">
<node concept="1rXfSq" id="4duYm8_ndvy" role="3clFbG">
<ref role="37wK5l" node="61G6TdDe$Or" resolve="updateUnitCacheHolder" />
<ref role="37wK5l" node="61G6TdDe$Or" resolve="updateSharedCacheHolder" />
<node concept="37vLTw" id="4duYm8_ndvz" role="37wK5m">
<ref role="3cqZAo" node="4duYm8_mV8n" resolve="unitRef" />
</node>
<node concept="1bVj0M" id="4duYm8_ndv$" role="37wK5m">
<node concept="37vLTG" id="4duYm8_ndv_" role="1bW2Oz">
<property role="TrG5h" value="unitRef" />
<node concept="3uibUv" id="4duYm8_ndvA" role="1tU5fm">
<ref role="3uigEE" to="mhbf:~SNodeReference" resolve="SNodeReference" />
</node>
<node concept="gl6BB" id="KkWtiKGc8g" role="1bW2Oz">
<property role="TrG5h" value="__" />
<node concept="2jxLKc" id="KkWtiKGc8h" role="1tU5fm" />
</node>
<node concept="37vLTG" id="4duYm8_ndvB" role="1bW2Oz">
<property role="TrG5h" value="holder" />
@ -6347,57 +6193,6 @@
<node concept="3Tm1VV" id="1RYTbd7EJns" role="1B3o_S" />
</node>
<node concept="2tJIrI" id="5HVB6JRqPto" role="jymVt" />
<node concept="3clFb_" id="61G6TdC33Bp" role="jymVt">
<property role="TrG5h" value="getOrCreateUnitCacheHolder" />
<node concept="37vLTG" id="61G6TdC33Bq" role="3clF46">
<property role="TrG5h" value="unit" />
<node concept="3Tqbb2" id="3DPJ8QIpnb3" role="1tU5fm" />
</node>
<node concept="3clFbS" id="61G6TdC33Bs" role="3clF47">
<node concept="3cpWs6" id="61G6TdDdKbd" role="3cqZAp">
<node concept="2OqwBi" id="61G6TdDdKbe" role="3cqZAk">
<node concept="37vLTw" id="61G6TdDdKbf" role="2Oq$k0">
<ref role="3cqZAo" node="4Z$O9mrTa0z" resolve="unitCacheHolders" />
</node>
<node concept="liA8E" id="61G6TdDdKbg" role="2OqNvi">
<ref role="37wK5l" to="5zyv:~ConcurrentMap.computeIfAbsent(java.lang.Object,java.util.function.Function)" resolve="computeIfAbsent" />
<node concept="2OqwBi" id="3DPJ8QIpyB6" role="37wK5m">
<node concept="liA8E" id="3DPJ8QIp$Hh" role="2OqNvi">
<ref role="37wK5l" to="mhbf:~SNode.getReference()" resolve="getReference" />
</node>
<node concept="2JrnkZ" id="3DPJ8QIpyBb" role="2Oq$k0">
<node concept="37vLTw" id="61G6TdDdKbh" role="2JrQYb">
<ref role="3cqZAo" node="61G6TdC33Bq" resolve="unit" />
</node>
</node>
</node>
<node concept="1bVj0M" id="61G6TdDdKbi" role="37wK5m">
<node concept="37vLTG" id="61G6TdDdKbj" role="1bW2Oz">
<property role="TrG5h" value="key" />
<node concept="3uibUv" id="61G6TdDdKbk" role="1tU5fm">
<ref role="3uigEE" to="mhbf:~SNodeReference" resolve="SNodeReference" />
</node>
</node>
<node concept="3clFbS" id="61G6TdDdKbl" role="1bW5cS">
<node concept="3clFbF" id="61G6TdDdKbm" role="3cqZAp">
<node concept="2ShNRf" id="61G6TdDdKbp" role="3clFbG">
<node concept="1pGfFk" id="61G6TdDdKbq" role="2ShVmc">
<ref role="37wK5l" node="4Z$O9mrTmmf" resolve="CacheHolder" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="3Tm6S6" id="61G6TdC33BE" role="1B3o_S" />
<node concept="3uibUv" id="61G6TdC33BF" role="3clF45">
<ref role="3uigEE" node="4Z$O9mrQJw7" resolve="CacheHolder" />
</node>
</node>
<node concept="2tJIrI" id="4Z$O9mrQJqd" role="jymVt" />
<node concept="3clFb_" id="KkWtiKyjfK" role="jymVt">
<property role="TrG5h" value="getOrCreateSharedCacheHolder" />
<node concept="37vLTG" id="KkWtiKyjfL" role="3clF46">
@ -6418,11 +6213,9 @@
<ref role="3cqZAo" node="KkWtiKyjfL" resolve="key" />
</node>
<node concept="1bVj0M" id="KkWtiKyjfW" role="37wK5m">
<node concept="37vLTG" id="KkWtiKyjfX" role="1bW2Oz">
<property role="TrG5h" value="key" />
<node concept="3uibUv" id="KkWtiKyjfY" role="1tU5fm">
<ref role="3uigEE" to="wyt6:~Object" resolve="Object" />
</node>
<node concept="gl6BB" id="KkWtiKFI_1" role="1bW2Oz">
<property role="TrG5h" value="__" />
<node concept="2jxLKc" id="KkWtiKFI_2" role="1tU5fm" />
</node>
<node concept="3clFbS" id="KkWtiKyjfZ" role="1bW5cS">
<node concept="3clFbF" id="KkWtiKyjg0" role="3cqZAp">
@ -6445,11 +6238,11 @@
</node>
<node concept="2tJIrI" id="KkWtiKyjfJ" role="jymVt" />
<node concept="3clFb_" id="61G6TdDe$Or" role="jymVt">
<property role="TrG5h" value="updateUnitCacheHolder" />
<property role="TrG5h" value="updateSharedCacheHolder" />
<node concept="37vLTG" id="61G6TdDe$Os" role="3clF46">
<property role="TrG5h" value="unitRef" />
<property role="TrG5h" value="key" />
<node concept="3uibUv" id="61G6TdDe$Ot" role="1tU5fm">
<ref role="3uigEE" to="mhbf:~SNodeReference" resolve="SNodeReference" />
<ref role="3uigEE" to="wyt6:~Object" resolve="Object" />
</node>
</node>
<node concept="37vLTG" id="61G6TdDe$Ou" role="3clF46">
@ -6457,7 +6250,7 @@
<node concept="3uibUv" id="61G6TdDe$Ov" role="1tU5fm">
<ref role="3uigEE" to="82uw:~BiFunction" resolve="BiFunction" />
<node concept="3uibUv" id="61G6TdDe$Ow" role="11_B2D">
<ref role="3uigEE" to="mhbf:~SNodeReference" resolve="SNodeReference" />
<ref role="3uigEE" to="wyt6:~Object" resolve="Object" />
</node>
<node concept="3uibUv" id="61G6TdDfB3c" role="11_B2D">
<ref role="3uigEE" node="4Z$O9mrQJw7" resolve="CacheHolder" />
@ -6475,7 +6268,7 @@
<node concept="3clFbF" id="4duYm8_mzIx" role="3cqZAp">
<node concept="2OqwBi" id="4duYm8_m_fV" role="3clFbG">
<node concept="37vLTw" id="4duYm8_mzIw" role="2Oq$k0">
<ref role="3cqZAo" node="4Z$O9mrTa0z" resolve="unitCacheHolders" />
<ref role="3cqZAo" node="1T5MAgPeszY" resolve="sharedCacheHolders" />
</node>
<node concept="liA8E" id="4duYm8_mA7y" role="2OqNvi">
<ref role="37wK5l" to="5zyv:~ConcurrentMap.computeIfPresent(java.lang.Object,java.util.function.BiFunction)" resolve="computeIfPresent" />
@ -6491,75 +6284,6 @@
</node>
</node>
<node concept="2tJIrI" id="61G6TdDe$Oq" role="jymVt" />
<node concept="3clFb_" id="61G6TdDbzkU" role="jymVt">
<property role="TrG5h" value="updateAllUnitCacheHolders" />
<node concept="37vLTG" id="61G6TdDbzkX" role="3clF46">
<property role="TrG5h" value="updater" />
<node concept="3uibUv" id="61G6TdDbzkY" role="1tU5fm">
<ref role="3uigEE" to="82uw:~BiConsumer" resolve="BiConsumer" />
<node concept="3uibUv" id="61G6TdDbzkZ" role="11_B2D">
<ref role="3uigEE" to="mhbf:~SNodeReference" resolve="SNodeReference" />
</node>
<node concept="3uibUv" id="61G6TdDbzl0" role="11_B2D">
<ref role="3uigEE" node="4Z$O9mrQJw7" resolve="CacheHolder" />
</node>
</node>
</node>
<node concept="3cqZAl" id="61G6TdDbTA6" role="3clF45" />
<node concept="3Tm6S6" id="61G6TdDbzl3" role="1B3o_S" />
<node concept="3clFbS" id="61G6TdDbzl4" role="3clF47">
<node concept="3clFbF" id="61G6TdDbKwE" role="3cqZAp">
<node concept="2OqwBi" id="61G6TdDbL7W" role="3clFbG">
<node concept="37vLTw" id="61G6TdDbKwC" role="2Oq$k0">
<ref role="3cqZAo" node="4Z$O9mrTa0z" resolve="unitCacheHolders" />
</node>
<node concept="liA8E" id="61G6TdDbM8R" role="2OqNvi">
<ref role="37wK5l" to="5zyv:~ConcurrentMap.forEach(java.util.function.BiConsumer)" resolve="forEach" />
<node concept="1bVj0M" id="61G6TdDbN5r" role="37wK5m">
<node concept="37vLTG" id="61G6TdDbNA6" role="1bW2Oz">
<property role="TrG5h" value="key" />
<node concept="3uibUv" id="61G6TdDbNA7" role="1tU5fm">
<ref role="3uigEE" to="mhbf:~SNodeReference" resolve="SNodeReference" />
</node>
</node>
<node concept="37vLTG" id="61G6TdDbNA8" role="1bW2Oz">
<property role="TrG5h" value="holder" />
<node concept="3uibUv" id="61G6TdDbNA9" role="1tU5fm">
<ref role="3uigEE" node="4Z$O9mrQJw7" resolve="CacheHolder" />
</node>
</node>
<node concept="3clFbS" id="61G6TdDbN5s" role="1bW5cS">
<node concept="1HWtB8" id="61G6TdDbQIx" role="3cqZAp">
<node concept="37vLTw" id="61G6TdDbQSR" role="1HWFw0">
<ref role="3cqZAo" node="61G6TdDbNA8" resolve="holder" />
</node>
<node concept="3clFbS" id="61G6TdDbQI_" role="1HWHxc">
<node concept="3clFbF" id="61G6TdDbPLr" role="3cqZAp">
<node concept="2OqwBi" id="61G6TdDbRmz" role="3clFbG">
<node concept="37vLTw" id="61G6TdDbPLp" role="2Oq$k0">
<ref role="3cqZAo" node="61G6TdDbzkX" resolve="updater" />
</node>
<node concept="liA8E" id="61G6TdDbREM" role="2OqNvi">
<ref role="37wK5l" to="82uw:~BiConsumer.accept(java.lang.Object,java.lang.Object)" resolve="accept" />
<node concept="37vLTw" id="61G6TdDbRXn" role="37wK5m">
<ref role="3cqZAo" node="61G6TdDbNA6" resolve="key" />
</node>
<node concept="37vLTw" id="61G6TdDbSnq" role="37wK5m">
<ref role="3cqZAo" node="61G6TdDbNA8" resolve="holder" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="2tJIrI" id="KkWtiKxvxH" role="jymVt" />
<node concept="3clFb_" id="KkWtiKxrbT" role="jymVt">
<property role="TrG5h" value="updateAllSharedCacheHolders" />
<node concept="37vLTG" id="KkWtiKxrbU" role="3clF46">
@ -6629,25 +6353,6 @@
</node>
</node>
<node concept="2tJIrI" id="61G6TdDbzkT" role="jymVt" />
<node concept="2tJIrI" id="KkWtiKy2z_" role="jymVt" />
<node concept="3clFb_" id="61G6TdDcewU" role="jymVt">
<property role="TrG5h" value="dropUnitCacheHolders" />
<node concept="3cqZAl" id="61G6TdDcewW" role="3clF45" />
<node concept="3Tm6S6" id="6b6o3l3kk3s" role="1B3o_S" />
<node concept="3clFbS" id="61G6TdDcewY" role="3clF47">
<node concept="3clFbF" id="61G6TdDcySH" role="3cqZAp">
<node concept="2OqwBi" id="61G6TdDczoO" role="3clFbG">
<node concept="37vLTw" id="61G6TdDcySG" role="2Oq$k0">
<ref role="3cqZAo" node="4Z$O9mrTa0z" resolve="unitCacheHolders" />
</node>
<node concept="liA8E" id="61G6TdDc$2K" role="2OqNvi">
<ref role="37wK5l" to="33ny:~Map.clear()" resolve="clear" />
</node>
</node>
</node>
</node>
</node>
<node concept="2tJIrI" id="KkWtiKxS_V" role="jymVt" />
<node concept="3clFb_" id="KkWtiKxPxO" role="jymVt">
<property role="TrG5h" value="dropSharedCacheHolders" />
<node concept="3cqZAl" id="KkWtiKxPxP" role="3clF45" />
@ -6685,25 +6390,6 @@
</node>
</node>
</node>
<node concept="312cEg" id="4Z$O9mrTa0z" role="jymVt">
<property role="TrG5h" value="unitCacheHolders" />
<node concept="3Tm6S6" id="4Z$O9mrTa0$" role="1B3o_S" />
<node concept="3uibUv" id="7Mte5SKiAso" role="1tU5fm">
<ref role="3uigEE" to="5zyv:~ConcurrentMap" resolve="ConcurrentMap" />
<node concept="3uibUv" id="4vBwiiVtOUI" role="11_B2D">
<ref role="3uigEE" to="mhbf:~SNodeReference" resolve="SNodeReference" />
</node>
<node concept="3uibUv" id="7Mte5SKiH3A" role="11_B2D">
<ref role="3uigEE" node="4Z$O9mrQJw7" resolve="CacheHolder" />
</node>
</node>
<node concept="2ShNRf" id="4Z$O9mrTa74" role="33vP2m">
<node concept="1pGfFk" id="7Mte5SKiNfb" role="2ShVmc">
<property role="373rjd" value="true" />
<ref role="37wK5l" to="5zyv:~ConcurrentHashMap.&lt;init&gt;()" resolve="ConcurrentHashMap" />
</node>
</node>
</node>
<node concept="3Tm1VV" id="1z4$59jLYlG" role="1B3o_S" />
<node concept="312cEg" id="1T5MAgPiOGI" role="jymVt">
<property role="TrG5h" value="typeCollector" />
@ -11410,9 +11096,16 @@
<ref role="3cqZAo" node="1C_jAsqhPex" resolve="state" />
</node>
<node concept="liA8E" id="7Aoa2yVho5O" role="2OqNvi">
<ref role="37wK5l" node="7Aoa2yVgCDl" resolve="updateUnitCachedData" />
<node concept="37vLTw" id="7Aoa2yVho5P" role="37wK5m">
<ref role="3cqZAo" node="1RYTbd80CiD" resolve="containingRoot" />
<ref role="37wK5l" node="7Aoa2yVqV_s" resolve="updateSharedCache" />
<node concept="2OqwBi" id="KkWtiKFxGw" role="37wK5m">
<node concept="liA8E" id="KkWtiKFAfo" role="2OqNvi">
<ref role="37wK5l" to="mhbf:~SNode.getReference()" resolve="getReference" />
</node>
<node concept="2JrnkZ" id="KkWtiKFxG_" role="2Oq$k0">
<node concept="37vLTw" id="7Aoa2yVho5P" role="2JrQYb">
<ref role="3cqZAo" node="1RYTbd80CiD" resolve="containingRoot" />
</node>
</node>
</node>
<node concept="1bVj0M" id="7Aoa2yVho5Q" role="37wK5m">
<node concept="37vLTG" id="7Aoa2yVho5R" role="1bW2Oz">
@ -11943,9 +11636,16 @@
<ref role="3cqZAo" node="1C_jAsqhPeB" resolve="state" />
</node>
<node concept="liA8E" id="7Aoa2yVphWx" role="2OqNvi">
<ref role="37wK5l" node="7Aoa2yVgCDl" resolve="updateUnitCachedData" />
<node concept="37vLTw" id="7Aoa2yVphWy" role="37wK5m">
<ref role="3cqZAo" node="1RYTbd81$US" resolve="containingRoot" />
<ref role="37wK5l" node="7Aoa2yVqV_s" resolve="updateSharedCache" />
<node concept="2OqwBi" id="KkWtiKFCX7" role="37wK5m">
<node concept="liA8E" id="KkWtiKFEqq" role="2OqNvi">
<ref role="37wK5l" to="mhbf:~SNode.getReference()" resolve="getReference" />
</node>
<node concept="2JrnkZ" id="KkWtiKFCXc" role="2Oq$k0">
<node concept="37vLTw" id="7Aoa2yVphWy" role="2JrQYb">
<ref role="3cqZAo" node="1RYTbd81$US" resolve="containingRoot" />
</node>
</node>
</node>
<node concept="1bVj0M" id="7Aoa2yVphWz" role="37wK5m">
<node concept="37vLTG" id="7Aoa2yVphW$" role="1bW2Oz">
@ -12391,7 +12091,7 @@
<ref role="3cqZAo" node="1C_jAsqhPec" resolve="state" />
</node>
<node concept="liA8E" id="7Aoa2yVqTQO" role="2OqNvi">
<ref role="37wK5l" node="7Aoa2yVqV_s" resolve="updateSharedCachedData" />
<ref role="37wK5l" node="7Aoa2yVqV_s" resolve="updateSharedCache" />
<node concept="2OqwBi" id="KkWtiK$WWZ" role="37wK5m">
<node concept="1rXfSq" id="KkWtiK$Rt7" role="2Oq$k0">
<ref role="37wK5l" node="4nDRG5$JQVF" resolve="getAspectClique" />
@ -12693,7 +12393,7 @@
<ref role="3cqZAo" node="1C_jAsqhPef" resolve="state" />
</node>
<node concept="liA8E" id="7Aoa2yVwt3a" role="2OqNvi">
<ref role="37wK5l" node="7Aoa2yVqV_s" resolve="updateSharedCachedData" />
<ref role="37wK5l" node="7Aoa2yVqV_s" resolve="updateSharedCache" />
<node concept="2OqwBi" id="KkWtiKz6t0" role="37wK5m">
<node concept="1rXfSq" id="KkWtiKyX_F" role="2Oq$k0">
<ref role="37wK5l" node="4nDRG5$JQVF" resolve="getAspectClique" />
@ -13153,7 +12853,7 @@
<ref role="3cqZAo" node="1C_jAsqhPei" resolve="state" />
</node>
<node concept="liA8E" id="7Aoa2yVtSY2" role="2OqNvi">
<ref role="37wK5l" node="7Aoa2yVqV_s" resolve="updateSharedCachedData" />
<ref role="37wK5l" node="7Aoa2yVqV_s" resolve="updateSharedCache" />
<node concept="2OqwBi" id="KkWtiKziIA" role="37wK5m">
<node concept="1rXfSq" id="KkWtiKzcqV" role="2Oq$k0">
<ref role="37wK5l" node="4nDRG5$JQVF" resolve="getAspectClique" />
@ -13612,7 +13312,7 @@
<ref role="3cqZAo" node="1C_jAsqhPel" resolve="state" />
</node>
<node concept="liA8E" id="7Aoa2yVwYL0" role="2OqNvi">
<ref role="37wK5l" node="7Aoa2yVqV_s" resolve="updateSharedCachedData" />
<ref role="37wK5l" node="7Aoa2yVqV_s" resolve="updateSharedCache" />
<node concept="2OqwBi" id="KkWtiKzq4V" role="37wK5m">
<node concept="1rXfSq" id="KkWtiKzmUA" role="2Oq$k0">
<ref role="37wK5l" node="4nDRG5$JQVF" resolve="getAspectClique" />
@ -14359,7 +14059,7 @@
<ref role="3cqZAo" node="1C_jAsqhPer" resolve="state" />
</node>
<node concept="liA8E" id="7Aoa2yV_0sz" role="2OqNvi">
<ref role="37wK5l" node="7Aoa2yVqV_s" resolve="updateSharedCachedData" />
<ref role="37wK5l" node="7Aoa2yVqV_s" resolve="updateSharedCache" />
<node concept="2OqwBi" id="KkWtiKzyar" role="37wK5m">
<node concept="1rXfSq" id="KkWtiKzuRK" role="2Oq$k0">
<ref role="37wK5l" node="4nDRG5$JQVF" resolve="getAspectClique" />