diff --git a/src/main/java/org/rosi_project/model_sync/model_join/representation/grammar/JoinExpression.java b/src/main/java/org/rosi_project/model_sync/model_join/representation/grammar/JoinExpression.java
index 97f4169e44b24b72f20cd68ff3b9b08d1b4186a6..956a42704e52a9fdc0d34b091075d3f61a88db7a 100644
--- a/src/main/java/org/rosi_project/model_sync/model_join/representation/grammar/JoinExpression.java
+++ b/src/main/java/org/rosi_project/model_sync/model_join/representation/grammar/JoinExpression.java
@@ -22,6 +22,8 @@ import org.rosi_project.model_sync.model_join.representation.core.ClassResource;
  *
  * @author Rico Bergmann
  * @see NaturalJoinExpression
+ * @see OuterJoinExpression
+ * @see ThetaJoinExpression
  */
 public abstract class JoinExpression implements Iterable<KeepExpression> {
 
@@ -32,6 +34,8 @@ public abstract class JoinExpression implements Iterable<KeepExpression> {
 
     /**
      * The {@code natural join} combines two classes based on attributes with equal name and type.
+     *
+     * @see NaturalJoinExpression
      */
     NATURAL,
 
@@ -39,12 +43,16 @@ public abstract class JoinExpression implements Iterable<KeepExpression> {
      * The {@code outer join} works like the {@link #NATURAL} one, but leaves instances from one
      * class with no corresponding instance in the other class according to the {@code outer join
      * type}. See the subclass for details.
+     *
+     * @see OuterJoinExpression
      */
     OUTER,
 
     /**
      * The {@code theta join} is more general than the {@link #NATURAL} and {@link #OUTER} one as
      * it enables an arbitrary criteria to define whether two instances are "joinable" or not.
+     *
+     * @see ThetaJoinExpression
      */
     THETA
   }