diff --git a/src/main/java/teetime/framework/Analysis.java b/src/main/java/teetime/framework/Analysis.java
index 9f3db384b3a06799277d709c43f61f50d9620a24..79dc2575ba91b6852e09a49579c786d4f0609db7 100644
--- a/src/main/java/teetime/framework/Analysis.java
+++ b/src/main/java/teetime/framework/Analysis.java
@@ -204,7 +204,7 @@ public final class Analysis<T extends AnalysisConfiguration> implements Uncaught
 	}
 
 	@SuppressWarnings("rawtypes")
-	public void colorAndConnectStages(final Integer i, final Map<Stage, Integer> colors, final Stage threadableStage) {
+	private void colorAndConnectStages(final Integer i, final Map<Stage, Integer> colors, final Stage threadableStage) {
 		Set<Stage> threadableStageJobs = configuration.getThreadableStageJobs();
 		for (OutputPort outputPort : threadableStage.getOutputPorts()) {
 			if (outputPort.pipe != null) {
diff --git a/src/main/java/teetime/framework/AnalysisConfiguration.java b/src/main/java/teetime/framework/AnalysisConfiguration.java
index 8d80d14ba6a2f07a742bc7b1357c5660ced447ba..8c3c92780444aea1a8a48d488df067f99815946d 100644
--- a/src/main/java/teetime/framework/AnalysisConfiguration.java
+++ b/src/main/java/teetime/framework/AnalysisConfiguration.java
@@ -59,7 +59,7 @@ public abstract class AnalysisConfiguration {
 	 * @param stage
 	 *            A arbitrary stage, which will be added to the configuration and executed in a thread.
 	 */
-	protected void addThreadableStage(final Stage stage) {
+	protected final void addThreadableStage(final Stage stage) {
 		this.threadableStageJobs.add(stage);
 	}
 
@@ -69,7 +69,7 @@ public abstract class AnalysisConfiguration {
 	 * @param stage
 	 *            A arbitrary CompositeStage, which will be added to the configuration and executed in a thread.
 	 */
-	protected void addThreadableStage(final AbstractCompositeStage stage) {
+	protected final void addThreadableStage(final AbstractCompositeStage stage) {
 		this.threadableStageJobs.add(stage.getFirstStage());
 		for (Stage threadableStage : stage.getThreadableStageJobs()) {
 			this.addThreadableStage(threadableStage);
@@ -161,7 +161,7 @@ public abstract class AnalysisConfiguration {
 	 * @param targetPort
 	 *            port from the receiving stage
 	 */
-	protected <T> void connectPorts(final OutputPort<? extends T> sourcePort, final InputPort<T> targetPort) {
+	protected final <T> void connectPorts(final OutputPort<? extends T> sourcePort, final InputPort<T> targetPort) {
 		connectPorts(sourcePort, targetPort, 4);
 	}
 
@@ -175,7 +175,7 @@ public abstract class AnalysisConfiguration {
 	 * @param capacity
 	 *            the pipe is set to this capacity, if the value is greater than 0. If it is 0, than the pipe is unbounded, thus growing of the pipe is enabled.
 	 */
-	protected <T> void connectPorts(final OutputPort<? extends T> sourcePort, final InputPort<T> targetPort, final int capacity) {
+	protected final <T> void connectPorts(final OutputPort<? extends T> sourcePort, final InputPort<T> targetPort, final int capacity) {
 		new InstantiationPipe<T>(sourcePort, targetPort, capacity);
 		// connections.add(new Connection<T>(sourcePort, targetPort, capacity));
 	}