From 023cb223d65c1395c700908694e282e3ee1ea5af Mon Sep 17 00:00:00 2001
From: patham9 <patham9@91dfdad4-c543-0410-b26a-7d79dded8189>
Date: Sat, 12 Jul 2014 21:22:41 +0000
Subject: [PATCH] refinement, because the position in the chain also plays a
 role (due to cut at max size)

---
 nars_core_java/nars/storage/Memory.java | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/nars_core_java/nars/storage/Memory.java b/nars_core_java/nars/storage/Memory.java
index 2ac7913..d9326ca 100644
--- a/nars_core_java/nars/storage/Memory.java
+++ b/nars_core_java/nars/storage/Memory.java
@@ -313,10 +313,16 @@ public class Memory {
             }
             Stamp stamp = task.getSentence().getStamp();
             ArrayList<Term> chain = stamp.getChain();
-            if (currentBelief != null && !chain.contains(currentBelief.getContent())) {
+            if (currentBelief != null) {
+                if(chain.contains(currentBelief.getContent())) {
+                    chain.remove(currentBelief.getContent());
+                }
                 stamp.addToChain(currentBelief.getContent());
             }
-            if (currentTask != null && !single && !chain.contains(currentTask.getContent())) {
+            if (currentTask != null && !single) {
+                if(chain.contains(currentTask.getContent())) {
+                    chain.remove(currentTask.getContent());
+                }
                 stamp.addToChain(currentTask.getContent());
             }
             if (!revised) {
-- 
GitLab