diff --git a/src/main/java/teetime/variant/methodcallWithPorts/stage/InstanceOfFilter.java b/src/main/java/teetime/variant/methodcallWithPorts/stage/InstanceOfFilter.java
index a23da017e2ced951ccecd810a2fe061b4171700b..a205d20b6232866c5eaacd6f0c607227e5f33841 100644
--- a/src/main/java/teetime/variant/methodcallWithPorts/stage/InstanceOfFilter.java
+++ b/src/main/java/teetime/variant/methodcallWithPorts/stage/InstanceOfFilter.java
@@ -18,10 +18,11 @@ public class InstanceOfFilter<I, O> extends ConsumerStage<I, O> {
 		this.type = type;
 	}
 
+	@SuppressWarnings("unchecked")
 	@Override
 	protected void execute5(final I element) {
 		if (this.type.isInstance(element)) {
-			this.send(this.type.cast(element));
+			this.send((O) element);
 		} else { // swallow up the element
 			if (this.logger.isDebugEnabled()) {
 				this.logger.debug("element is not an instance of " + this.type.getName() + ", but of " + element.getClass());
diff --git a/src/main/java/teetime/variant/methodcallWithPorts/stage/kieker/traceReconstruction/TraceReconstructionFilter.java b/src/main/java/teetime/variant/methodcallWithPorts/stage/kieker/traceReconstruction/TraceReconstructionFilter.java
index aa307ce4a47b990cfa0e28da0a4c9c335783a884..b2516a07b7e8f1a28981d9172ed0e9531ecb69d2 100644
--- a/src/main/java/teetime/variant/methodcallWithPorts/stage/kieker/traceReconstruction/TraceReconstructionFilter.java
+++ b/src/main/java/teetime/variant/methodcallWithPorts/stage/kieker/traceReconstruction/TraceReconstructionFilter.java
@@ -40,7 +40,7 @@ public class TraceReconstructionFilter extends ConsumerStage<IFlowRecord, TraceE
 	private long maxTraceTimeout = Long.MAX_VALUE;
 	private long maxEncounteredLoggingTimestamp = -1;
 
-	private static final Map<Long, TraceBuffer> traceId2trace = new HashMapWithDefault<Long, TraceBuffer>(new TraceBuffer());
+	private final Map<Long, TraceBuffer> traceId2trace = new HashMapWithDefault<Long, TraceBuffer>(new TraceBuffer());
 
 	@Override
 	protected void execute5(final IFlowRecord element) {
@@ -51,9 +51,9 @@ public class TraceReconstructionFilter extends ConsumerStage<IFlowRecord, TraceE
 	}
 
 	private void putIfFinished(final Long traceId) {
-		final TraceBuffer traceBuffer = TraceReconstructionFilter.traceId2trace.get(traceId);
+		final TraceBuffer traceBuffer = this.traceId2trace.get(traceId);
 		if (traceBuffer.isFinished()) {
-			TraceReconstructionFilter.traceId2trace.remove(traceId);
+			this.traceId2trace.remove(traceId);
 			this.put(traceBuffer);
 		}
 	}
@@ -62,12 +62,12 @@ public class TraceReconstructionFilter extends ConsumerStage<IFlowRecord, TraceE
 		Long traceId = null;
 		if (record instanceof TraceMetadata) {
 			traceId = ((TraceMetadata) record).getTraceId();
-			final TraceBuffer traceBuffer = TraceReconstructionFilter.traceId2trace.get(traceId);
+			final TraceBuffer traceBuffer = this.traceId2trace.get(traceId);
 
 			traceBuffer.setTrace((TraceMetadata) record);
 		} else if (record instanceof AbstractTraceEvent) {
 			traceId = ((AbstractTraceEvent) record).getTraceId();
-			final TraceBuffer traceBuffer = TraceReconstructionFilter.traceId2trace.get(traceId);
+			final TraceBuffer traceBuffer = this.traceId2trace.get(traceId);
 
 			traceBuffer.insertEvent((AbstractTraceEvent) record);
 		}
@@ -77,7 +77,7 @@ public class TraceReconstructionFilter extends ConsumerStage<IFlowRecord, TraceE
 
 	@Override
 	public void onIsPipelineHead() {
-		Iterator<TraceBuffer> iterator = TraceReconstructionFilter.traceId2trace.values().iterator();
+		Iterator<TraceBuffer> iterator = this.traceId2trace.values().iterator();
 		while (iterator.hasNext()) {
 			TraceBuffer traceBuffer = iterator.next();
 			this.put(traceBuffer);