diff --git a/pom.xml b/pom.xml
index e901b55f5384f838570d43e2dd8488be87d38a13..e4c191866892524a6fc518a6b2c2a3ca75b65e15 100644
--- a/pom.xml
+++ b/pom.xml
@@ -185,9 +185,6 @@
 				<groupId>org.apache.maven.plugins</groupId>
 				<artifactId>maven-javadoc-plugin</artifactId>
 				<version>2.10.3</version>
-				<configuration>
-					<failOnError>false</failOnError>
-				</configuration>
 				<executions>
 					<execution>
 						<id>attach-javadocs</id>
diff --git a/src/main/java/teetime/framework/AbstractStage.java b/src/main/java/teetime/framework/AbstractStage.java
index ab552d4d1bb97bdde94efb9deb962f84f292bd0d..2ece7a0cf61e3b7dcb816418eb3bf70e60cd5b87 100644
--- a/src/main/java/teetime/framework/AbstractStage.java
+++ b/src/main/java/teetime/framework/AbstractStage.java
@@ -146,6 +146,9 @@ public abstract class AbstractStage extends Stage {
 	/**
 	 * Creates and adds an InputPort to the stage
 	 *
+	 * @param type
+	 *            class of elements to be received
+	 *
 	 * @param <T>
 	 *            the type of elements to be received
 	 *
@@ -176,9 +179,12 @@ public abstract class AbstractStage extends Stage {
 	/**
 	 * Creates and adds an OutputPort to the stage
 	 *
+	 * @param type
+	 *            class of elements to be sent
+	 *
 	 * @param <T>
 	 *            the type of elements to be sent
-	 * 
+	 *
 	 * @return Newly added OutputPort
 	 */
 	protected <T> OutputPort<T> createOutputPort(final Class<T> type) {
diff --git a/src/main/java/teetime/framework/pipe/IPipeFactory.java b/src/main/java/teetime/framework/pipe/IPipeFactory.java
index 8319f0a9a6dc84f6c03199ea457d3642eaca077d..26fed2b532ce7fb950507d3da1f4550bcc995ccb 100644
--- a/src/main/java/teetime/framework/pipe/IPipeFactory.java
+++ b/src/main/java/teetime/framework/pipe/IPipeFactory.java
@@ -32,6 +32,9 @@ public interface IPipeFactory {
 	 *            OutputPort of the stage, which produces data.
 	 * @param targetPort
 	 *            Input port of the receiving stage.
+	 * @param <T>
+	 *            type of elements which traverse this pipe
+	 *
 	 * @return The connecting pipe.
 	 */
 	<T> IPipe create(OutputPort<? extends T> sourcePort, InputPort<T> targetPort);
@@ -45,6 +48,8 @@ public interface IPipeFactory {
 	 *            Input port of the receiving stage.
 	 * @param capacity
 	 *            Number of elements the pipe can carry.
+	 * @param <T>
+	 *            type of elements which traverse this pipe
 	 * @return The connecting pipe.
 	 */
 	<T> IPipe create(OutputPort<? extends T> sourcePort, InputPort<T> targetPort, int capacity);
@@ -60,7 +65,7 @@ public interface IPipeFactory {
 	PipeOrdering getOrdering();
 
 	/**
-	 * @return Wether or not the created pipes are growable
+	 * @return Whether or not the created pipes are growable
 	 */
 	boolean isGrowable();
 
diff --git a/src/main/java/teetime/framework/pipe/PipeFactoryRegistry.java b/src/main/java/teetime/framework/pipe/PipeFactoryRegistry.java
index f8347ce16f51693c3179ee0bf4ea0de4817693e0..bd121f52ae94d56e4f2aade716905acafa6ee944 100644
--- a/src/main/java/teetime/framework/pipe/PipeFactoryRegistry.java
+++ b/src/main/java/teetime/framework/pipe/PipeFactoryRegistry.java
@@ -93,7 +93,7 @@ public final class PipeFactoryRegistry {
 	}
 
 	/**
-	 * Adds a new PipeFactory to the registry.<br />
+	 * Adds a new PipeFactory to the registry.
 	 * The new PipeFactory will be automatically selected by the Registry, if it is the most suitable Factory
 	 * corresponding to the requirements.
 	 *
diff --git a/src/main/java/teetime/framework/signal/ISignal.java b/src/main/java/teetime/framework/signal/ISignal.java
index eba8019a120575f7982a80a1466559d01404b5d9..7f53a3c3b9b835fea3eecdcd864c6f16a232f04a 100644
--- a/src/main/java/teetime/framework/signal/ISignal.java
+++ b/src/main/java/teetime/framework/signal/ISignal.java
@@ -24,13 +24,6 @@ public interface ISignal {
 
 	void trigger(Stage stage);
 
-	/**
-	 * Used by the merger only (so far)
-	 *
-	 * @param receivedInputPorts
-	 * @param allInputPorts
-	 * @param stageState
-	 * @return <code>true</code> iff the signal may be triggered, <code>false</code> otherwise.
-	 */
+	// Only used by the merger so far
 	boolean mayBeTriggered(Set<InputPort<?>> receivedInputPorts, InputPort<?>[] allInputPorts);
 }
diff --git a/src/main/java/teetime/stage/Counter.java b/src/main/java/teetime/stage/Counter.java
index 9bfc67c23c9a6994b9e12d1d92bf3f25e7910705..e5292df760ef3b681c4ef1cc16b4646a5e924307 100644
--- a/src/main/java/teetime/stage/Counter.java
+++ b/src/main/java/teetime/stage/Counter.java
@@ -33,6 +33,8 @@ public final class Counter<T> extends AbstractConsumerStage<T> {
 
 	/**
 	 * <i>Hint:</i> This method may not be invoked by another thread since it is not thread-safe.
+	 *
+	 * @return the number of passed elements
 	 */
 	public int getNumElementsPassed() {
 		return this.numElementsPassed;
diff --git a/src/main/java/teetime/stage/ObjectProducer.java b/src/main/java/teetime/stage/ObjectProducer.java
index 7441b89bf3c5bed33867ef02359ff39d0b042b5f..4a52414de7750508e1bac8d5f8d64cf02a22a935 100644
--- a/src/main/java/teetime/stage/ObjectProducer.java
+++ b/src/main/java/teetime/stage/ObjectProducer.java
@@ -29,6 +29,10 @@ public final class ObjectProducer<T> extends AbstractProducerStage<T> {
 	private ConstructorClosure<T> inputObjectCreator;
 
 	/**
+	 * @param numInputObjects
+	 *            number of objects which should be instantiated and sent
+	 * @param inputObjectCreator
+	 *            a {@link ConstructorClosure} which creates the new instances
 	 * @since 1.0
 	 */
 	public ObjectProducer(final long numInputObjects, final ConstructorClosure<T> inputObjectCreator) {
diff --git a/src/main/java/teetime/stage/io/AbstractTcpReader.java b/src/main/java/teetime/stage/io/AbstractTcpReader.java
index 0227aecd4198112f1a088890f7859340556a44b3..c3738be2c4908a003da387e34e2858399a3c3334 100644
--- a/src/main/java/teetime/stage/io/AbstractTcpReader.java
+++ b/src/main/java/teetime/stage/io/AbstractTcpReader.java
@@ -93,6 +93,7 @@ public abstract class AbstractTcpReader<T> extends AbstractProducerStage<T> {
 	 * @return <ul>
 	 *         <li><code>true</code> when there were enough bytes to perform the read operation
 	 *         <li><code>false</code> otherwise. In this case, the buffer is reset, compacted, and filled with new content.
+	 *         </ul>
 	 */
 	protected abstract boolean read(final ByteBuffer buffer);
 
diff --git a/src/main/java/teetime/stage/io/Directory2FilesFilter.java b/src/main/java/teetime/stage/io/Directory2FilesFilter.java
index 7a7844df97c988418857537e856d28d30da78025..4551ab3286991954ec1361e82ed4d8f2357d6fc1 100644
--- a/src/main/java/teetime/stage/io/Directory2FilesFilter.java
+++ b/src/main/java/teetime/stage/io/Directory2FilesFilter.java
@@ -23,11 +23,6 @@ import java.util.Comparator;
 import teetime.framework.AbstractConsumerStage;
 import teetime.framework.OutputPort;
 
-/**
- * @author Christian Wulf
- * 
- * @since 1.10
- */
 public final class Directory2FilesFilter extends AbstractConsumerStage<File> {
 
 	private final OutputPort<File> outputPort = this.createOutputPort();
@@ -35,31 +30,19 @@ public final class Directory2FilesFilter extends AbstractConsumerStage<File> {
 	private FileFilter filter;
 	private Comparator<File> fileComparator;
 
-	/**
-	 * @since 1.10
-	 */
 	public Directory2FilesFilter(final FileFilter fileFilter) {
 		this.setFilter(fileFilter);
 	}
 
-	/**
-	 * @since 1.10
-	 */
 	public Directory2FilesFilter(final Comparator<File> fileComparator) {
 		this.setFileComparator(fileComparator);
 	}
 
-	/**
-	 * @since 1.10
-	 */
 	public Directory2FilesFilter(final FileFilter fileFilter, final Comparator<File> fileComparator) {
 		this.setFilter(fileFilter);
 		this.setFileComparator(fileComparator);
 	}
 
-	/**
-	 * @since 1.10
-	 */
 	public Directory2FilesFilter() {
 		super();
 	}
diff --git a/src/main/java/teetime/stage/util/TextLine.java b/src/main/java/teetime/stage/util/TextLine.java
index 3470c6a4a6f61c5c127220fae25dc7d640b7b875..e8525b2aa9e5909bb684c7c2d978622e8c0c3dca 100644
--- a/src/main/java/teetime/stage/util/TextLine.java
+++ b/src/main/java/teetime/stage/util/TextLine.java
@@ -19,17 +19,12 @@ import java.io.File;
 
 /**
  * @author Christian Wulf
- *
- * @since 1.10
  */
 public final class TextLine {
 
 	private final File textFile;
 	private final String textLine;
 
-	/**
-	 * @since 1.10
-	 */
 	public TextLine(final File textFile, final String textLine) {
 		this.textFile = textFile;
 		this.textLine = textLine;
diff --git a/src/main/java/teetime/util/CyclicListIterator.java b/src/main/java/teetime/util/CyclicListIterator.java
index 7f7ca993af80ebea4c166ec0887b06c4cc84b869..fa33171dab7175b19d72f881e9a3a868f4b9d59f 100644
--- a/src/main/java/teetime/util/CyclicListIterator.java
+++ b/src/main/java/teetime/util/CyclicListIterator.java
@@ -24,6 +24,7 @@ import java.util.List;
  * @author Christian Wulf
  *
  * @param <T>
+ *            type of the elements contained in the list
  */
 public final class CyclicListIterator<T> implements Iterator<T> {
 
diff --git a/src/main/java/teetime/util/Pair.java b/src/main/java/teetime/util/Pair.java
index dda9883445c63c766e7e3b639bbeae16996c88c0..89df09442a63d909f70dd5d444b1e23eff4a28be 100644
--- a/src/main/java/teetime/util/Pair.java
+++ b/src/main/java/teetime/util/Pair.java
@@ -16,10 +16,6 @@
 package teetime.util;
 
 /**
- *
- * @param <F>
- * @param <S>
- *
  * @deprecated since 1.2
  */
 @Deprecated
diff --git a/src/main/java/teetime/util/classpath/CachedClassForNameResolver.java b/src/main/java/teetime/util/classpath/CachedClassForNameResolver.java
index 65e3eb5d7bff9c853ca3d87eaebaf5b79180a44d..8255a38395308e901986e8b5c4d272a6db50af59 100644
--- a/src/main/java/teetime/util/classpath/CachedClassForNameResolver.java
+++ b/src/main/java/teetime/util/classpath/CachedClassForNameResolver.java
@@ -23,7 +23,6 @@ import java.util.concurrent.ConcurrentMap;
  *            the type that is used to cast a type that was found in the class path
  *
  * @author Christian Wulf
- * @since 1.11
  */
 public final class CachedClassForNameResolver<T> {
 
@@ -43,6 +42,7 @@ public final class CachedClassForNameResolver<T> {
 	 * @return A {@link Class} instance corresponding to the given name, if it exists.
 	 *
 	 * @throws ClassNotFoundException
+	 *             thrown iff no class was found for the given <b>classname</b>
 	 */
 	public final Class<? extends T> classForName(final String classname) throws ClassNotFoundException {
 		Class<? extends T> clazz = this.cachedClasses.get(classname);
diff --git a/src/main/java/teetime/util/classpath/ClassForNameResolver.java b/src/main/java/teetime/util/classpath/ClassForNameResolver.java
index 3db67725c91be7cb732264b26b6ea6ffa2ecd673..349efcdfd3806d2f8e7730914215c4cffde3b103 100644
--- a/src/main/java/teetime/util/classpath/ClassForNameResolver.java
+++ b/src/main/java/teetime/util/classpath/ClassForNameResolver.java
@@ -38,6 +38,7 @@ public final class ClassForNameResolver<T> {
 	 *
 	 * @return A {@link Class} instance corresponding to the given name, if it exists.
 	 * @throws ClassNotFoundException
+	 *             thrown iff no class was found for the given <b>classname</b>
 	 *
 	 */
 	public final Class<? extends T> classForName(final String classname) throws ClassNotFoundException {
diff --git a/src/main/java/teetime/util/io/network/AbstractTcpReader.java b/src/main/java/teetime/util/io/network/AbstractTcpReader.java
index 704eb58bbf252ab31211b16038ee16a5ec73b9d4..1d5fc7ce0802afe9d92a42f0568b1c8a21c43004 100644
--- a/src/main/java/teetime/util/io/network/AbstractTcpReader.java
+++ b/src/main/java/teetime/util/io/network/AbstractTcpReader.java
@@ -98,6 +98,7 @@ public abstract class AbstractTcpReader implements Runnable {
 	 * @return <ul>
 	 *         <li><code>true</code> when there were enough bytes to perform the read operation
 	 *         <li><code>false</code> otherwise. In this case, the buffer is reset, compacted, and filled with new content.
+	 *         </ul>
 	 */
 	protected abstract boolean onBufferReceived(final ByteBuffer buffer);