diff --git a/src/main/java/teetime/examples/traceReconstruction/TraceReconstructionAnalysis2.java b/src/main/java/teetime/examples/traceReconstruction/TraceReconstructionAnalysis2.java
index 3ea7e0a03762f5785cf1bc18bcefb9a3d66bd0f9..0ebf4a7926e5fb4ba9d7d90627361c5eee52c977 100644
--- a/src/main/java/teetime/examples/traceReconstruction/TraceReconstructionAnalysis2.java
+++ b/src/main/java/teetime/examples/traceReconstruction/TraceReconstructionAnalysis2.java
@@ -56,14 +56,20 @@ public class TraceReconstructionAnalysis2 extends Analysis {
 
 	private ClassNameRegistryRepository classNameRegistryRepository;
 
+
 	@Override
 	public void init() {
 		super.init();
+//		IPipeline clockPipeline = buildClockPipeline();
+//		this.clockThread = new WorkerThread(clockPipeline, 1);
+//		Clock clockStage=(Clock) clockPipeline.getStartStages().get(0);
+
 		final IPipeline pipeline = this.buildPipeline();
 		this.workerThread = new WorkerThread(pipeline, 0);
 	}
 
 	/**
+	 * @param clockStage
 	 * @since 1.10
 	 */
 	private IPipeline buildPipeline() {
@@ -107,7 +113,7 @@ public class TraceReconstructionAnalysis2 extends Analysis {
 		QueuePipe.connect(classNameRegistryCreationFilter.relayDirectoryOutputPort, directory2FilesFilter.directoryInputPort);
 		QueuePipe.connect(directory2FilesFilter.fileOutputPort, file2TextLinesFilter.fileInputPort);
 		QueuePipe.connect(file2TextLinesFilter.textLineOutputPort, cache.objectInputPort);
-		// QueuePipe.connect(XXX, cache.sendInputPort);
+//		 QueuePipe.connect(XXX, cache.sendInputPort);
 		QueuePipe.connect(cache.objectOutputPort, textLine2RecordFilter.textLineInputPort);
 		QueuePipe.connect(textLine2RecordFilter.recordOutputPort, stringBufferFilter.objectInputPort);
 		QueuePipe.connect(stringBufferFilter.objectOutputPort, timestampFilter.inputPort);
@@ -115,11 +121,11 @@ public class TraceReconstructionAnalysis2 extends Analysis {
 		// QueuePipe.connect(timestampFilter.mismatchingOutputPort, YYY); // ignore this case
 		QueuePipe.connect(traceIdFilter.matchingOutputPort, instanceOfFilter.inputPort);
 		// QueuePipe.connect(traceIdFilter.mismatchingOutputPort, traceIdFilter.inputPort); // ignore this case
-//		QueuePipe.connect(XXX, traceReconstructionFilter.timestampInputPort);
+//		QueuePipe.connect(clockStage.timestampOutputPort, traceReconstructionFilter.timestampInputPort);	// ignore this case
 		QueuePipe.connect(instanceOfFilter.matchingOutputPort, traceReconstructionFilter.recordInputPort);
 		// QueuePipe.connect(instanceOfFilter.mismatchingOutputPort, instanceOfFilter.inputPort); // ignore this case
 		QueuePipe.connect(traceReconstructionFilter.traceValidOutputPort, countingFilter.INPUT_OBJECT);
-		// QueuePipe.connect(traceReconstructionFilter.traceInvalidOutputPort, XXX); // ignore this case
+		// QueuePipe.connect(traceReconstructionFilter.traceInvalidOutputPort, ); // ignore this case
 
 		final Pipeline pipeline = new Pipeline();
 		pipeline.setStartStages(startStages);
diff --git a/src/main/java/teetime/stage/basic/Clock.java b/src/main/java/teetime/stage/basic/Clock.java
index c25ae029ac0497fbcd53fa572dfcafad17fe5d19..014de3ec290489805e7f5bf4ef320a696b3d94b9 100644
--- a/src/main/java/teetime/stage/basic/Clock.java
+++ b/src/main/java/teetime/stage/basic/Clock.java
@@ -12,11 +12,10 @@ import teetime.framework.core.IOutputPort;
  *
  * @since 1.10
  *
- * @param <T>
  */
-public class Clock<T> extends AbstractFilter<Clock<T>> {
+public class Clock extends AbstractFilter<Clock> {
 
-	public final IOutputPort<Clock<T>, Long> timestampOutputPort = this.createOutputPort();
+	public final IOutputPort<Clock, Long> timestampOutputPort = this.createOutputPort();
 
 	private boolean initialDelayExceeded = false;
 
@@ -27,7 +26,7 @@ public class Clock<T> extends AbstractFilter<Clock<T>> {
 	 * @since 1.10
 	 */
 	@Override
-	protected boolean execute(final Context<Clock<T>> context) {
+	protected boolean execute(final Context<Clock> context) {
 		if (!initialDelayExceeded) {
 			initialDelayExceeded = true;
 			sleep(initialDelayInMs);