diff --git a/src/main/java/ca/recrown/islandsurvivalcraft/caching/CacheUsageStack.java b/src/main/java/ca/recrown/islandsurvivalcraft/caching/CacheUsageStack.java index cf6a951..6b2d5f2 100644 --- a/src/main/java/ca/recrown/islandsurvivalcraft/caching/CacheUsageStack.java +++ b/src/main/java/ca/recrown/islandsurvivalcraft/caching/CacheUsageStack.java @@ -22,7 +22,6 @@ class CacheUsageStack { } private void removeValueFromStack(CacheValue value) { - if (value == null) throw new IllegalStateException("Current size is supposed to be " + size); if (value.front != null) { value.front.back = value.back; } else { @@ -55,7 +54,10 @@ class CacheUsageStack { success = lock.tryLock(); if (success) { try { - moveToTop(value); + if (!value.detached) { + removeValueFromStack(value); + addValueToStackTop(value); + } } finally { lock.unlock(); }