final void visinallyRemove(K key, V value) { XMap<K, V> delayOrphanMap = this.delayOrphanMap; if (delayOrphanMap == null) { UnifiedComparator<? super K> keyUnifiedComparator = this.keyUnifiedComparator(); if (keyUnifiedComparator.comparator() != null) { delayOrphanMap = new TreeMap<K, V>( ReplacementRule.NEW_REFERENCE_WIN, keyUnifiedComparator.comparator(), this.valueUnifiedComparator()); } else { delayOrphanMap = new LinkedHashMap<K, V>( ReplacementRule.NEW_REFERENCE_WIN, keyUnifiedComparator.equalityComparator(), this.valueUnifiedComparator(), false, OrderAdjustMode.TAIL, OrderAdjustMode.TAIL); } this.delayOrphanMap = delayOrphanMap; } delayOrphanMap.put(key, value); }