diff --git a/src/main/java/kieker/gui/common/domain/AbstractTrace.java b/src/main/java/kieker/gui/common/domain/AbstractTrace.java
index 2413045a3752ce51e0339346d9b1d169a827d6ee..69eed71895df10989852dbb4b387ea2928b97df3 100644
--- a/src/main/java/kieker/gui/common/domain/AbstractTrace.java
+++ b/src/main/java/kieker/gui/common/domain/AbstractTrace.java
@@ -29,7 +29,7 @@ public abstract class AbstractTrace {
 	}
 
 	@Override
-	public int hashCode() {
+	public final int hashCode() {
 		final int prime = 31;
 		int result = 1;
 		result = (prime * result) + ((this.rootOperationCall == null) ? 0 : this.rootOperationCall.hashCode());
@@ -37,7 +37,7 @@ public abstract class AbstractTrace {
 	}
 
 	@Override
-	public boolean equals(final Object obj) {
+	public final boolean equals(final Object obj) {
 		if (this == obj) {
 			return true;
 		}
diff --git a/src/main/java/kieker/gui/common/domain/OperationCall.java b/src/main/java/kieker/gui/common/domain/OperationCall.java
index efc20715467dda4bcc2d31b93fd5e69507cdfb41..70d9689105abb706899d1d1ba2b4f0b0430a8531 100644
--- a/src/main/java/kieker/gui/common/domain/OperationCall.java
+++ b/src/main/java/kieker/gui/common/domain/OperationCall.java
@@ -132,7 +132,7 @@ public final class OperationCall {
 	}
 
 	@Override
-	public int hashCode() {
+	public int hashCode() { // NOPMD NOCS (this method violates some metrics)
 		final int prime = 31;
 		int result = 1;
 		result = (prime * result) + ((this.children == null) ? 0 : this.children.hashCode());
@@ -144,7 +144,7 @@ public final class OperationCall {
 	}
 
 	@Override
-	public boolean equals(final Object obj) {
+	public boolean equals(final Object obj) { // NOPMD NOCS (this method violates some metrics)
 		if (this == obj) {
 			return true;
 		}
diff --git a/src/main/java/kieker/gui/common/model/importer/ImportAnalysisConfiguration.java b/src/main/java/kieker/gui/common/model/importer/ImportAnalysisConfiguration.java
index 3697ac6ea802fa2a8fbb0322bb2f24dbc7607b6a..a538885c3ef750f9670d619148e51eea366d0b78 100644
--- a/src/main/java/kieker/gui/common/model/importer/ImportAnalysisConfiguration.java
+++ b/src/main/java/kieker/gui/common/model/importer/ImportAnalysisConfiguration.java
@@ -56,16 +56,16 @@ public final class ImportAnalysisConfiguration extends AnalysisConfiguration {
 		// Create the stages
 		final ReadingComposite reader = new ReadingComposite(importDirectory);
 		final MultipleInstanceOfFilter<IMonitoringRecord> typeFilter = new MultipleInstanceOfFilter<>();
-		final TraceReconstructionComposite traceReconstruction = new TraceReconstructionComposite(this.traces, this.failedTraces, this.failureContainingTraces);
-		final TraceAggregationComposite traceAggregation = new TraceAggregationComposite(this.aggregatedTraces, this.failedAggregatedTraces, this.failureContainingAggregatedTraces);
+		final TraceReconstructionComposite reconstruction = new TraceReconstructionComposite(this.traces, this.failedTraces, this.failureContainingTraces);
+		final TraceAggregationComposite aggregation = new TraceAggregationComposite(this.aggregatedTraces, this.failedAggregatedTraces, this.failureContainingAggregatedTraces);
 
 		final CollectorSink<KiekerMetadataRecord> metadataCollector = new CollectorSink<>(this.metadataRecords);
 
 		// Connect the stages
 		final IPipeFactory pipeFactory = AnalysisConfiguration.PIPE_FACTORY_REGISTRY.getPipeFactory(ThreadCommunication.INTRA, PipeOrdering.ARBITRARY, false);
 		pipeFactory.create(reader.getOutputPort(), typeFilter.getInputPort());
-		pipeFactory.create(typeFilter.getOutputPortForType(IFlowRecord.class), traceReconstruction.getInputPort());
-		pipeFactory.create(traceReconstruction.getOutputPort(), traceAggregation.getInputPort());
+		pipeFactory.create(typeFilter.getOutputPortForType(IFlowRecord.class), reconstruction.getInputPort());
+		pipeFactory.create(reconstruction.getOutputPort(), aggregation.getInputPort());
 		pipeFactory.create(typeFilter.getOutputPortForType(KiekerMetadataRecord.class), metadataCollector.getInputPort());
 
 		// Make sure that the producer is executed by the analysis
diff --git a/src/main/java/kieker/gui/common/model/importer/stages/AbstractStage.java b/src/main/java/kieker/gui/common/model/importer/stages/AbstractStage.java
index 5c7a66421e6c3f7d6f9a5d2095585357a19423e9..7912d8badc15555adb7fbe2a2b5b64c76a315b5a 100644
--- a/src/main/java/kieker/gui/common/model/importer/stages/AbstractStage.java
+++ b/src/main/java/kieker/gui/common/model/importer/stages/AbstractStage.java
@@ -1,3 +1,19 @@
+/***************************************************************************
+ * Copyright 2014 Kieker Project (http://kieker-monitoring.net)
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ ***************************************************************************/
+
 package kieker.gui.common.model.importer.stages;
 
 import teetime.framework.AbstractConsumerStage;
diff --git a/src/main/java/kieker/gui/common/model/importer/stages/TraceReconstructionComposite.java b/src/main/java/kieker/gui/common/model/importer/stages/TraceReconstructionComposite.java
index 3b84b8235e47be7a347d824cef2a3a958996a848..051f2a97a563dd2164c7b3276d9d55a82d7fc89b 100644
--- a/src/main/java/kieker/gui/common/model/importer/stages/TraceReconstructionComposite.java
+++ b/src/main/java/kieker/gui/common/model/importer/stages/TraceReconstructionComposite.java
@@ -37,7 +37,6 @@ import teetime.stage.basic.distributor.Distributor;
 public final class TraceReconstructionComposite extends Stage {
 
 	private final TraceReconstructor reconstructor;
-	private final Distributor<Trace> distributor;
 
 	private final CollectorSink<Trace> tracesCollector;
 	private final CollectorSink<Trace> failedTracesCollector;
@@ -48,7 +47,7 @@ public final class TraceReconstructionComposite extends Stage {
 
 	public TraceReconstructionComposite(final List<Trace> traces, final List<Trace> failedTraces, final List<Trace> failureContainingTraces) {
 		this.reconstructor = new TraceReconstructor();
-		this.distributor = new Distributor<>(new CopyByReferenceStrategy());
+		final Distributor<Trace> distributor = new Distributor<>(new CopyByReferenceStrategy());
 		final FailedTraceFilter<Trace> failedTraceFilter = new FailedTraceFilter<>();
 		final FailureContainingTraceFilter<Trace> failureContainingTraceFilter = new FailureContainingTraceFilter<>();
 
@@ -60,12 +59,12 @@ public final class TraceReconstructionComposite extends Stage {
 		this.outputPort = this.statisticsDecorator.getOutputPort();
 
 		final IPipeFactory pipeFactory = PipeFactoryRegistry.INSTANCE.getPipeFactory(ThreadCommunication.INTRA, PipeOrdering.ARBITRARY, false);
-		pipeFactory.create(this.reconstructor.getOutputPort(), this.distributor.getInputPort());
+		pipeFactory.create(this.reconstructor.getOutputPort(), distributor.getInputPort());
 
-		pipeFactory.create(this.distributor.getNewOutputPort(), this.tracesCollector.getInputPort());
-		pipeFactory.create(this.distributor.getNewOutputPort(), failedTraceFilter.getInputPort());
-		pipeFactory.create(this.distributor.getNewOutputPort(), failureContainingTraceFilter.getInputPort());
-		pipeFactory.create(this.distributor.getNewOutputPort(), this.statisticsDecorator.getInputPort());
+		pipeFactory.create(distributor.getNewOutputPort(), this.tracesCollector.getInputPort());
+		pipeFactory.create(distributor.getNewOutputPort(), failedTraceFilter.getInputPort());
+		pipeFactory.create(distributor.getNewOutputPort(), failureContainingTraceFilter.getInputPort());
+		pipeFactory.create(distributor.getNewOutputPort(), this.statisticsDecorator.getInputPort());
 
 		pipeFactory.create(failedTraceFilter.getOutputPort(), this.failedTracesCollector.getInputPort());
 		pipeFactory.create(failureContainingTraceFilter.getOutputPort(), this.failureContainingTracesCollector.getInputPort());
diff --git a/src/main/java/kieker/gui/subview/aggregatedtraces/Controller.java b/src/main/java/kieker/gui/subview/aggregatedtraces/Controller.java
index d3da5ca521dc75aace6e33a8a19f1270b1f459fc..5bfc388d924391568253e3d6ad53eb9bd7365ad8 100644
--- a/src/main/java/kieker/gui/subview/aggregatedtraces/Controller.java
+++ b/src/main/java/kieker/gui/subview/aggregatedtraces/Controller.java
@@ -81,7 +81,7 @@ public final class Controller implements ISubController, SelectionListener {
 
 		@Override
 		public List<AggregatedTrace> getContent() {
-			return super.dataModel.getAggregatedTracesCopy();
+			return super.getDataModel().getAggregatedTracesCopy();
 		}
 
 	}
@@ -94,7 +94,7 @@ public final class Controller implements ISubController, SelectionListener {
 
 		@Override
 		public List<AggregatedTrace> getContent() {
-			return super.dataModel.getFailedAggregatedTracesCopy();
+			return super.getDataModel().getFailedAggregatedTracesCopy();
 		}
 
 	}
@@ -107,7 +107,7 @@ public final class Controller implements ISubController, SelectionListener {
 
 		@Override
 		public List<AggregatedTrace> getContent() {
-			return super.dataModel.getFailureContainingAggregatedTracesCopy();
+			return super.getDataModel().getFailureContainingAggregatedTracesCopy();
 		}
 
 	}
diff --git a/src/main/java/kieker/gui/subview/traces/Controller.java b/src/main/java/kieker/gui/subview/traces/Controller.java
index f3ec5aea25d9339f6dcbc9c027f11cf44aa63b02..b451de9d30e9897918aacdabcfeed5931a9d6d9b 100644
--- a/src/main/java/kieker/gui/subview/traces/Controller.java
+++ b/src/main/java/kieker/gui/subview/traces/Controller.java
@@ -86,7 +86,7 @@ public final class Controller implements ISubController, SelectionListener {
 
 		@Override
 		public List<Trace> getContent() {
-			return super.dataModel.getTracesCopy();
+			return super.getDataModel().getTracesCopy();
 		}
 
 	}
@@ -99,7 +99,7 @@ public final class Controller implements ISubController, SelectionListener {
 
 		@Override
 		public List<Trace> getContent() {
-			return super.dataModel.getFailedTracesCopy();
+			return super.getDataModel().getFailedTracesCopy();
 		}
 
 	}
@@ -112,7 +112,7 @@ public final class Controller implements ISubController, SelectionListener {
 
 		@Override
 		public List<Trace> getContent() {
-			return super.dataModel.getFailureContainingTracesCopy();
+			return super.getDataModel().getFailureContainingTracesCopy();
 		}
 
 	}
diff --git a/src/main/java/kieker/gui/subview/util/AbstractDataModelProxy.java b/src/main/java/kieker/gui/subview/util/AbstractDataModelProxy.java
index 9f5d96f8cef9968ab0fb4a1fdb4425abb588f5dd..b5c14d707b1ba06b874ec1fc6888a2ae8e680000 100644
--- a/src/main/java/kieker/gui/subview/util/AbstractDataModelProxy.java
+++ b/src/main/java/kieker/gui/subview/util/AbstractDataModelProxy.java
@@ -23,7 +23,7 @@ import kieker.gui.common.model.DataModel;
 
 public abstract class AbstractDataModelProxy<T> extends Observable implements IModel<T>, Observer {
 
-	protected final DataModel dataModel;
+	private final DataModel dataModel;
 
 	public AbstractDataModelProxy(final DataModel dataModel) {
 		this.dataModel = dataModel;
@@ -41,4 +41,7 @@ public abstract class AbstractDataModelProxy<T> extends Observable implements IM
 		return this.dataModel.getShortTimeUnit();
 	}
 
+	protected DataModel getDataModel() {
+		return this.dataModel;
+	}
 }