diff --git a/src/main/java/teetime/framework/AbstractStage.java b/src/main/java/teetime/framework/AbstractStage.java
index 2037827ddac789ba63023eb2a7fe1bfde0cea68e..4b89d127d93ba57d117dc4e18f3c46d04683b372 100644
--- a/src/main/java/teetime/framework/AbstractStage.java
+++ b/src/main/java/teetime/framework/AbstractStage.java
@@ -104,6 +104,7 @@ public abstract class AbstractStage extends Stage {
 		currentState = StageState.VALIDATED;
 	}
 
+	@SuppressWarnings("PMD.SignatureDeclareThrowsException")
 	@Override
 	public void onStarting() throws Exception {
 		this.owningThread = Thread.currentThread();
@@ -119,15 +120,17 @@ public abstract class AbstractStage extends Stage {
 	private void connectUnconnectedOutputPorts() {
 		for (OutputPort<?> outputPort : this.cachedOutputPorts) {
 			if (null == outputPort.getPipe()) { // if port is unconnected
-				this.logger.warn("Unconnected output port: " + outputPort + ". Connecting with a dummy output port.");
+				if (logger.isInfoEnabled()) {
+					this.logger.info("Unconnected output port: " + outputPort + ". Connecting with a dummy output port.");
+				}
 				outputPort.setPipe(DUMMY_PORT);
 			}
 		}
 	}
 
+	@SuppressWarnings("PMD.SignatureDeclareThrowsException")
 	@Override
 	public void onTerminating() throws Exception {
-		logger.trace("onTerminating: " + this.getId());
 		currentState = StageState.TERMINATED;
 	}
 
diff --git a/src/main/java/teetime/framework/Stage.java b/src/main/java/teetime/framework/Stage.java
index 120db4ac8697be43aa6561fd7da67516b4316338..c87593b7eac23b14790ce9f2939fb3d1a4484ed0 100644
--- a/src/main/java/teetime/framework/Stage.java
+++ b/src/main/java/teetime/framework/Stage.java
@@ -112,6 +112,7 @@ public abstract class Stage {
 		return owningThread;
 	}
 
+	@SuppressWarnings("PMD.DefaultPackage")
 	void setOwningThread(final Thread owningThread) {
 		this.owningThread = owningThread;
 	}
@@ -122,8 +123,10 @@ public abstract class Stage {
 
 	public abstract void onValidating(List<InvalidPortConnection> invalidPortConnections);
 
+	@SuppressWarnings("PMD.SignatureDeclareThrowsException")
 	public abstract void onStarting() throws Exception;
 
+	@SuppressWarnings("PMD.SignatureDeclareThrowsException")
 	public abstract void onTerminating() throws Exception;
 
 }
diff --git a/src/main/java/teetime/stage/util/CountingMap.java b/src/main/java/teetime/stage/util/CountingMap.java
index 395f95266cefebc52a846765badf39e40c2fe11e..5f491453edc6f3e9824930e77336676e14cd6ccb 100644
--- a/src/main/java/teetime/stage/util/CountingMap.java
+++ b/src/main/java/teetime/stage/util/CountingMap.java
@@ -42,10 +42,10 @@ public final class CountingMap<T> extends HashMap<T, Integer> {
 	 *            The key which sould be incremented
 	 */
 	public void increment(final T key) {
-		if (super.containsKey(key)) {
-			Integer i = super.get(key);
-			i++;
-			super.put(key, i);
+		Integer count = super.get(key);
+		if (null != count) {
+			count++;
+			super.put(key, count);
 		} else {
 			super.put(key, 1);
 		}