diff --git a/src/main/java/br/ufrgs/inf/prosoft/memoizeit/Occurrence.java b/src/main/java/br/ufrgs/inf/prosoft/memoizeit/Occurrence.java
index 4ad3877..385bee1 100644
--- a/src/main/java/br/ufrgs/inf/prosoft/memoizeit/Occurrence.java
+++ b/src/main/java/br/ufrgs/inf/prosoft/memoizeit/Occurrence.java
@@ -6,6 +6,7 @@
package br.ufrgs.inf.prosoft.memoizeit;
import br.ufrgs.inf.prosoft.cache.Cache;
+import br.ufrgs.inf.prosoft.cache.KeyNotFoundException;
import br.ufrgs.inf.prosoft.memoizeit.graph.Node;
import java.util.List;
@@ -55,11 +56,13 @@ public abstract class Occurrence {
protected void simulateCaching(Cache cache) {
String key = getParameters().toString();
- Object cached = cache.get(key);
- if (cached == null) {
+ try {
+ Object cached = cache.get(key);
+ if (!cached.equals(getReturnValue())) {
+ cache.invalidate(key);
+ }
+ } catch (KeyNotFoundException ex) {
cache.put(key, getReturnValue());
- } else if (!cached.equals(getReturnValue())) {
- cache.invalidate(key);
}
}