From 4e06d1ac9e55b87bef3f70333884fa887552fb66 Mon Sep 17 00:00:00 2001
From: Florian Fittkau <ffi@informatik.uni-kiel.de>
Date: Thu, 5 Feb 2015 18:13:50 +0100
Subject: [PATCH] minor

---
 .../reduction/TracesSummarizationFilter.java  | 21 ++++++++++++-------
 1 file changed, 14 insertions(+), 7 deletions(-)

diff --git a/src/explorviz/live_trace_processing/filter/reduction/TracesSummarizationFilter.java b/src/explorviz/live_trace_processing/filter/reduction/TracesSummarizationFilter.java
index 0f56a6e..9513a2f 100644
--- a/src/explorviz/live_trace_processing/filter/reduction/TracesSummarizationFilter.java
+++ b/src/explorviz/live_trace_processing/filter/reduction/TracesSummarizationFilter.java
@@ -3,6 +3,7 @@ package explorviz.live_trace_processing.filter.reduction;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
+import java.util.Map.Entry;
 import java.util.TreeMap;
 
 import explorviz.live_trace_processing.Constants;
@@ -77,7 +78,7 @@ public class TracesSummarizationFilter extends AbstractFilter implements ITraceR
 					final AbstractBeforeOperationEventRecord abstractBeforeOperationEventRecord = (AbstractBeforeOperationEventRecord) abstractBeforeEventRecord;
 
 					abstractBeforeOperationEventRecord.getRuntimeStatisticInformation()
-							.makeAccumulator(abstractBeforeOperationEventRecord.getObjectId());
+					.makeAccumulator(abstractBeforeOperationEventRecord.getObjectId());
 				} else {
 					abstractBeforeEventRecord.getRuntimeStatisticInformation().makeAccumulator(0);
 
@@ -89,15 +90,21 @@ public class TracesSummarizationFilter extends AbstractFilter implements ITraceR
 	private void processTimeoutQueue(final long timestamp) {
 		final long bufferTimeout = timestamp - maxCollectionDuration;
 		final List<Trace> toRemove = new ArrayList<Trace>();
-		for (final TracesSummarizationBuffer traceBuffer : trace2buffer.values()) {
-			if (traceBuffer.getBufferCreatedTimestamp() <= bufferTimeout) {
-				final Trace aggregatedTrace = traceBuffer.getAggregatedTrace();
+		for (final Entry<Trace, TracesSummarizationBuffer> traceBufferEntrySet : trace2buffer
+				.entrySet()) {
+
+			if (traceBufferEntrySet.getValue().getBufferCreatedTimestamp() <= bufferTimeout) {
+				final Trace aggregatedTrace = traceBufferEntrySet.getValue().getAggregatedTrace();
+
 				deliver(aggregatedTrace);
-				toRemove.add(aggregatedTrace);
+				toRemove.add(traceBufferEntrySet.getKey());
 			}
+
 		}
-		for (final Trace traceEventRecords : toRemove) {
-			trace2buffer.remove(traceEventRecords);
+		for (final Trace trace : toRemove) {
+			if (trace2buffer.remove(trace) == null) {
+				System.out.println("no trace found :(");
+			}
 		}
 	}
 
-- 
GitLab