diff --git a/config/pmd/ruleset.xml b/config/pmd/ruleset.xml
index c8a440f2bb669d2f76ba44315df4b04415aad2af..aa4a37c85e8de25bc9f722cbf310e2c953900bfc 100644
--- a/config/pmd/ruleset.xml
+++ b/config/pmd/ruleset.xml
@@ -26,6 +26,7 @@
   <rule ref="rulesets/java/design.xml">
     <exclude name="ConfusingTernary"/>
     <exclude name="CompareObjectsWithEquals"/>
+    <exclude name="AbstractClassWithoutAbstractMethod"/>
   </rule>
   <rule ref="rulesets/java/empty.xml"/>
   <rule ref="rulesets/java/finalizers.xml"/>
diff --git a/src/main/java/kieker/diagnosis/common/domain/AbstractOperationCall.java b/src/main/java/kieker/diagnosis/common/domain/AbstractOperationCall.java
index a1e78b1aaa4710fa1e95dd1809b63207ede30981..a03a82a3c0e3a5fdbda54f79be4390c54c153a8f 100644
--- a/src/main/java/kieker/diagnosis/common/domain/AbstractOperationCall.java
+++ b/src/main/java/kieker/diagnosis/common/domain/AbstractOperationCall.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.diagnosis.common.domain;
 
 import java.util.ArrayList;
@@ -46,19 +62,19 @@ public abstract class AbstractOperationCall<T extends AbstractOperationCall<T>>
 		return this.operation;
 	}
 
-	public int getStackDepth() {
+	public final int getStackDepth() {
 		return this.stackDepth;
 	}
 
-	public void setStackDepth(final int stackDepth) {
+	public final void setStackDepth(final int stackDepth) {
 		this.stackDepth = stackDepth;
 	}
 
-	public int getStackSize() {
+	public final int getStackSize() {
 		return this.stackSize;
 	}
 
-	public void setStackSize(final int stackSize) {
+	public final void setStackSize(final int stackSize) {
 		this.stackSize = stackSize;
 	}
 
@@ -70,7 +86,7 @@ public abstract class AbstractOperationCall<T extends AbstractOperationCall<T>>
 		return this.failedCause;
 	}
 
-	public void setFailedCause(final String failedCause) {
+	public final void setFailedCause(final String failedCause) {
 		this.failedCause = failedCause;
 	}
 
diff --git a/src/main/java/kieker/diagnosis/common/domain/AggregatedOperationCall.java b/src/main/java/kieker/diagnosis/common/domain/AggregatedOperationCall.java
index a5558a6e8923087c9cec3dbd276ecefb85644866..0d8447ea04399f837c80771e31f611a5193aaf2e 100644
--- a/src/main/java/kieker/diagnosis/common/domain/AggregatedOperationCall.java
+++ b/src/main/java/kieker/diagnosis/common/domain/AggregatedOperationCall.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.diagnosis.common.domain;
 
 public final class AggregatedOperationCall extends AbstractOperationCall<AggregatedOperationCall> {
diff --git a/src/main/java/kieker/diagnosis/subview/util/AbstractTraceTreeColumnSortListener.java b/src/main/java/kieker/diagnosis/subview/util/AbstractTraceTreeColumnSortListener.java
index f3b3ffa8652727fbdf61657a2d03a82df9bf5ed4..038db5f94049ff10cf57e3483a0256c30c84100f 100644
--- a/src/main/java/kieker/diagnosis/subview/util/AbstractTraceTreeColumnSortListener.java
+++ b/src/main/java/kieker/diagnosis/subview/util/AbstractTraceTreeColumnSortListener.java
@@ -29,7 +29,9 @@ import org.eclipse.swt.events.SelectionEvent;
 import org.eclipse.swt.widgets.Tree;
 import org.eclipse.swt.widgets.TreeColumn;
 
-public abstract class AbstractTraceTreeColumnSortListener<T extends AbstractTrace<?>> extends SelectionAdapter {
+public abstract class AbstractTraceTreeColumnSortListener<T extends AbstractTrace<?>> extends SelectionAdapter implements Serializable {
+
+	private static final long serialVersionUID = 1L;
 
 	private final TraceComparator comparator = new TraceComparator();
 	private int direction;