diff --git a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/domain/vdmn/VDmnColumn.java b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/domain/vdmn/VDmnColumn.java
index 7596d15e4d26dfae7ad6f034bbbf4bdb5f517fde..0368d782ac59edbf3637b768ca38dd0fc16b0903 100644
--- a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/domain/vdmn/VDmnColumn.java
+++ b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/domain/vdmn/VDmnColumn.java
@@ -7,28 +7,78 @@ import de.unikoblenz.fgbks.core.dmn.domain.ids.ColumnId;
 import java.util.List;
 import java.util.Optional;
 
+/**
+ * A column is a abstract interface for the {@link VDmnInputColumn} and {@link VDmnOutputColumn}. A
+ * column defines the {@link VTypeRef} of the containing values.
+ */
 public interface VDmnColumn extends VDmnElement {
 
+  /**
+   * Get the {@link VDmnDecisionTable}.
+   *
+   * @return the {@link VDmnDecisionTable}
+   */
   VDmnDecisionTable getDmnDecisionTable();
 
+  /**
+   * Get the list of predefined {@link StringValue}s, if the column has the type {@link
+   * VTypeRef#STRING} and the model contains these values.
+   *
+   * @return the list of {@link StringValue}s or an empty optional
+   */
   Optional<List<StringValue>> getPredefinedValues();
 
+  /**
+   * Get the {@link Name}, if present.
+   *
+   * @return the {@link Name} or an empty optional
+   */
   Optional<Name> getName();
 
+  /**
+   * Get the {@link Label}, if present.
+   *
+   * @return the {@link Label} or an empty optional
+   */
   Optional<Label> getLabel();
 
+  /**
+   * Get the {@link VTypeRef}.
+   *
+   * @return the {@link VTypeRef}
+   */
   VTypeRef getTypeRef();
 
+  /**
+   * Get the list of {@link VDmnValue}s.
+   *
+   * @return the list of {@link VDmnValue}s
+   */
   List<VDmnValue> getValues();
 
+  /**
+   * Get the {@link ColumnId}.
+   *
+   * @return the {@link ColumnId}
+   */
   default ColumnId getColumnId() {
     return (ColumnId) getId();
   }
 
+  /**
+   * Get the {@link VDmnDecision}.
+   *
+   * @return the {@link VDmnDecision}
+   */
   default VDmnDecision getDmnDecision() {
     return getDmnDecisionTable().getDmnDecision();
   }
 
+  /**
+   * Get the {@link VDmnDefinition}.
+   *
+   * @return the {@link VDmnDefinition}
+   */
   default VDmnDefinition getDmnDefinition() {
     return getDmnDecisionTable().getDmnDefinition();
   }
diff --git a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/domain/vdmn/VDmnDecision.java b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/domain/vdmn/VDmnDecision.java
index 449cb4eedcca243e2878980e967965053039e4b7..b74d6f0767beb0519e3fd64d3b0a27574fc74fa4 100644
--- a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/domain/vdmn/VDmnDecision.java
+++ b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/domain/vdmn/VDmnDecision.java
@@ -3,8 +3,18 @@ package de.unikoblenz.fgbks.core.dmn.domain.vdmn;
 import de.unikoblenz.fgbks.core.dmn.domain.ids.DecisionId;
 import java.util.List;
 
+/**
+ * The decision node contains the {@link VDmnDecisionTable} and a list of {@link VDmnNode}s, which
+ * are information requirements for the decision.
+ */
 public interface VDmnDecision extends VDmnNode {
 
+  /**
+   * Get the list of {@link VDmnNode}, which are are information requirements for the decision. See
+   * also {@link VDmnNode#getInformationProvidingDecisions()}.
+   *
+   * @return the list of {@link VDmnNode}s
+   */
   List<VDmnNode> getDmnInformationRequirements();
 
   VDmnDecisionTable getDmnDecisionTable();
diff --git a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/domain/vdmn/VDmnDecisionTable.java b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/domain/vdmn/VDmnDecisionTable.java
index 7636ef884ebce9ea9644806287690575f4a778ed..ad6519591394a907bcc4aaa3e89bc30e74a4b822 100644
--- a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/domain/vdmn/VDmnDecisionTable.java
+++ b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/domain/vdmn/VDmnDecisionTable.java
@@ -1,33 +1,78 @@
 package de.unikoblenz.fgbks.core.dmn.domain.vdmn;
 
 import de.unikoblenz.fgbks.core.dmn.domain.ids.DecisionTableId;
+import de.unikoblenz.fgbks.core.dmn.domain.ids.DefinitionId;
 import de.unikoblenz.fgbks.core.dmn.domain.ids.RuleId;
 import java.util.List;
 import java.util.stream.Collectors;
 import org.camunda.bpm.model.dmn.HitPolicy;
 
+/**
+ * The decision table contains a list of {@link VDmnColumn}s ({@link VDmnInputColumn}s and {@link
+ * VDmnOutputColumn}s) and all {@link VDmnRule}s of the table.
+ */
 public interface VDmnDecisionTable extends VDmnElement {
 
+  /**
+   * Get the {@link VDmnDecision} of the decision table.
+   *
+   * @return the {@link VDmnDecision}
+   */
   VDmnDecision getDmnDecision();
 
+  /**
+   * Get the {@link HitPolicy} of the decision table.
+   *
+   * @return the {@link HitPolicy}
+   */
   HitPolicy getHitPolicy();
 
+  /**
+   * Get all {@link VDmnOutputColumn}s of the decision table.
+   *
+   * @return a list of {@link VDmnOutputColumn}s
+   */
   List<VDmnOutputColumn> getOutputColumns();
 
+  /**
+   * Get all {@link VDmnInputColumn}s of the decision table.
+   *
+   * @return a list of {@link VDmnInputColumn}s
+   */
   List<VDmnInputColumn> getInputColumns();
 
+  /**
+   * Get all {@link VDmnRule}s of the decision table.
+   *
+   * @return a list of {@link VDmnRule}s
+   */
   List<VDmnRule> getRules();
 
+  /**
+   * Get all {@link RuleId}s of the decision table.
+   *
+   * @return a list of {@link RuleId}s
+   */
   default List<RuleId> getRulesIds() {
     return getRules().stream()
         .map(VDmnRule::getRuleId)
         .collect(Collectors.toList()); // TODO optimize (e.g. cache)
   }
 
+  /**
+   * Get the {@link DecisionTableId}.
+   *
+   * @return the {@link DecisionTableId}
+   */
   default DecisionTableId getDecisionTableId() {
     return (DecisionTableId) getId();
   }
 
+  /**
+   * Get the {@link DefinitionId}.
+   *
+   * @return the {@link DefinitionId}
+   */
   default VDmnDefinition getDmnDefinition() {
     return getDmnDecision().getDmnDefinition();
   }
diff --git a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/domain/vdmn/VDmnDefinition.java b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/domain/vdmn/VDmnDefinition.java
index a24691a01f8239abfbd96bc96cc71f4033200b6e..e88ac22408909e27a3840c971078b62ccddbfc34 100644
--- a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/domain/vdmn/VDmnDefinition.java
+++ b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/domain/vdmn/VDmnDefinition.java
@@ -4,14 +4,40 @@ import de.unikoblenz.fgbks.core.dmn.domain.ids.AbstractId;
 import de.unikoblenz.fgbks.core.dmn.domain.ids.DefinitionId;
 import java.util.List;
 
+/**
+ * The definition is the root element for a dmn table and contains all {@link VDmnDecision}s and all
+ * {@link VDmnInputData}. Furthermore, all elements of the dmn table can be accessed with {@link
+ * VDmnDefinition#getElementById}.
+ */
 public interface VDmnDefinition extends VDmnElement {
 
+  /**
+   * Get the list of {@link VDmnDecision}s.
+   *
+   * @return the list of {@link VDmnDecision}s
+   */
   List<VDmnDecision> getDmnDecisions();
 
+  /**
+   * Get the list of {@link VDmnInputData}s.
+   *
+   * @return the list of {@link VDmnInputData}s
+   */
   List<VDmnInputData> getDmnInputData();
 
+  /**
+   * Get the vdmn element with the given id.
+   *
+   * @param id the {@link AbstractId} of the element
+   * @return the {@link VDmnElement}, or null, if the element was not found
+   */
   VDmnElement getElementById(AbstractId id);
 
+  /**
+   * Get the {@link DefinitionId}.
+   *
+   * @return the {@link DefinitionId}
+   */
   default DefinitionId getDefinitionId() {
     return (DefinitionId) getId();
   }
diff --git a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/domain/vdmn/VDmnElement.java b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/domain/vdmn/VDmnElement.java
index 2af31868ccea4634c574bbdce60cb99716e8bc45..cc013b71a9b0e88bf63ecd7ab6cc37c76264247a 100644
--- a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/domain/vdmn/VDmnElement.java
+++ b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/domain/vdmn/VDmnElement.java
@@ -2,6 +2,16 @@ package de.unikoblenz.fgbks.core.dmn.domain.vdmn;
 
 import de.unikoblenz.fgbks.core.dmn.domain.ids.AbstractId;
 
+/**
+ * A abstract interface for all vdmn elements. All elements contains an id, so this interface only
+ * provides a function for this id.
+ */
 public interface VDmnElement {
+
+  /**
+   * Get the {@link AbstractId}.
+   *
+   * @return the {@link AbstractId}
+   */
   AbstractId getId();
 }
diff --git a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/domain/vdmn/VDmnInputColumn.java b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/domain/vdmn/VDmnInputColumn.java
index be658b472d57f3132bf70f39df5f2e944029c245..931665bffd1f3f78b5e0475801994f5dbe309736 100644
--- a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/domain/vdmn/VDmnInputColumn.java
+++ b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/domain/vdmn/VDmnInputColumn.java
@@ -4,20 +4,39 @@ import de.unikoblenz.fgbks.core.dmn.domain.ids.InputExpressionId;
 import de.unikoblenz.fgbks.core.dmn.domain.ids.InputId;
 import java.util.List;
 
+/**
+ * This interface represents a input column in a {@link VDmnDecisionTable}. A column contains a list
+ * of {@link VDmnInputValue}s.
+ */
 public interface VDmnInputColumn extends VDmnColumn {
 
   // For future work:
   // List<VDmnInputColumn> getConnectedOutputColumns();
   // List<VDmnNode> getConnectedNodes();
 
+  /**
+   * Get the {@link InputExpressionId}.
+   *
+   * @return the {@link InputExpressionId}
+   */
   default InputExpressionId getInputExpressionId() {
     return (InputExpressionId) getId();
   }
 
+  /**
+   * Get the {@link InputId}.
+   *
+   * @return the {@link InputId}
+   */
   default InputId getInputId() {
     return (InputId) getColumnId();
   }
 
+  /**
+   * Get a list of {@link VDmnInputValue}s.
+   *
+   * @return the list of {@link VDmnInputValue}s
+   */
   default List<VDmnInputValue> getInputValues() {
     return (List<VDmnInputValue>) (List<?>) getValues();
   }
diff --git a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/domain/vdmn/VDmnInputData.java b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/domain/vdmn/VDmnInputData.java
index 9644b676e8341d033ed1a3d4f0a226fef0f4a184..748f6d7b8c4889ac143458f4a502dc7ebba41c98 100644
--- a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/domain/vdmn/VDmnInputData.java
+++ b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/domain/vdmn/VDmnInputData.java
@@ -2,9 +2,17 @@ package de.unikoblenz.fgbks.core.dmn.domain.vdmn;
 
 import de.unikoblenz.fgbks.core.dmn.domain.ids.InputDataId;
 
+/**
+ * A input data node is a information providing information object for {@link VDmnDecision}s.
+ */
 public interface VDmnInputData extends VDmnNode {
 
-  default InputDataId getDecisionId() {
+  /**
+   * Get the {@link InputDataId}.
+   *
+   * @return the {@link InputDataId}
+   */
+  default InputDataId getInputDataId() {
     return (InputDataId) getId();
   }
 }
diff --git a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/domain/vdmn/VDmnInputValue.java b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/domain/vdmn/VDmnInputValue.java
index 0383443448ee4821148221eb0a6e4e892fb787ad..6b5e8ff7746cad02b66421812c66c77a5df0ffac 100644
--- a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/domain/vdmn/VDmnInputValue.java
+++ b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/domain/vdmn/VDmnInputValue.java
@@ -3,14 +3,33 @@ package de.unikoblenz.fgbks.core.dmn.domain.vdmn;
 import de.unikoblenz.fgbks.base.utils.boundary.Boundary;
 import de.unikoblenz.fgbks.core.dmn.domain.ids.InputEntryId;
 
+/**
+ * This interface represents a single input value (or cell) in a {@link VDmnDecisionTable}. This is
+ * a {@link VDmnValue}.
+ */
 public interface VDmnInputValue extends VDmnValue {
 
+  /**
+   * Get the {@link Boundary} instance of the value.
+   *
+   * @return the {@link Boundary} instance of the value
+   */
   Boundary getBoundary();
 
+  /**
+   * Get the {@link InputEntryId}.
+   *
+   * @return the {@link InputEntryId}
+   */
   default InputEntryId getInputEntryId() {
     return (InputEntryId) getId();
   }
 
+  /**
+   * Get the {@link VDmnInputColumn}.
+   *
+   * @return the {@link VDmnInputColumn}
+   */
   default VDmnInputColumn getDmnInputColumn() {
     return (VDmnInputColumn) getDmnColumn();
   }
diff --git a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/domain/vdmn/VDmnNode.java b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/domain/vdmn/VDmnNode.java
index 1df073a1e9a483762b969c85dbdecfa109238f8f..e1be6f7a452f6e046d7cf1b2ee18f5a40d3ec4f6 100644
--- a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/domain/vdmn/VDmnNode.java
+++ b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/domain/vdmn/VDmnNode.java
@@ -4,11 +4,31 @@ import de.unikoblenz.fgbks.base.domain.Name;
 import java.util.List;
 import java.util.Optional;
 
+/**
+ * This interface represents a node on DRD level. A node can either be a {@link VDmnDecision} or a
+ * {@link VDmnInputData} node.
+ */
 public interface VDmnNode extends VDmnElement {
 
+  /**
+   * Get the {@link VDmnDefinition}.
+   *
+   * @return the {@link VDmnDefinition}
+   */
   VDmnDefinition getDmnDefinition();
 
+  /**
+   * Get a list of {@link VDmnDecision}s, which has this current node as information requirement.
+   * See also {@link VDmnDecision#getDmnInformationRequirements()}.
+   *
+   * @return a list of {@link VDmnDecision}s
+   */
   List<VDmnDecision> getInformationProvidingDecisions();
 
+  /**
+   * Get the name of the node, if present.
+   *
+   * @return an optional {@link Name}
+   */
   Optional<Name> getName();
 }
diff --git a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/domain/vdmn/VDmnOutputColumn.java b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/domain/vdmn/VDmnOutputColumn.java
index 3204023c6d8f2f96f12d4a03502247a9ea259b28..c0630bef74b549c3728aecb34da3cc96e0565ffa 100644
--- a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/domain/vdmn/VDmnOutputColumn.java
+++ b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/domain/vdmn/VDmnOutputColumn.java
@@ -3,16 +3,30 @@ package de.unikoblenz.fgbks.core.dmn.domain.vdmn;
 import de.unikoblenz.fgbks.core.dmn.domain.ids.OutputId;
 import java.util.List;
 
+/**
+ * This interface represents a output column in a {@link VDmnDecisionTable}. A column contains a
+ * list of {@link VDmnOutputValue}s.
+ */
 public interface VDmnOutputColumn extends VDmnColumn {
 
-  // For future work:
+  // TODO: For future work:
   // List<VDmnInputColumn> getConnectedInputColumns();
   // List<VDmnNode> getConnectedNodes();
 
+  /**
+   * Get the {@link OutputId} of the column.
+   *
+   * @return the {@link OutputId}.
+   */
   default OutputId getOutputId() {
     return (OutputId) getColumnId();
   }
 
+  /**
+   * Get the list of {@link VDmnOutputValue} of the column.
+   *
+   * @return the list of {@link VDmnOutputValue}.
+   */
   default List<VDmnOutputValue> getDmnOutputValues() {
     return (List<VDmnOutputValue>) (List<?>) getValues();
   }
diff --git a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/domain/vdmn/VDmnOutputValue.java b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/domain/vdmn/VDmnOutputValue.java
index 06707f9e38bbbdc807bbbfc077d436b78892aaef..6a856f4fe537843194a86743c26bcee3170319f1 100644
--- a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/domain/vdmn/VDmnOutputValue.java
+++ b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/domain/vdmn/VDmnOutputValue.java
@@ -2,12 +2,26 @@ package de.unikoblenz.fgbks.core.dmn.domain.vdmn;
 
 import de.unikoblenz.fgbks.core.dmn.domain.ids.OutputEntryId;
 
+/**
+ * This interface represents a single output value (or cell) in a {@link VDmnDecisionTable}. This is
+ * a {@link VDmnValue}.
+ */
 public interface VDmnOutputValue extends VDmnValue {
 
+  /**
+   * Get the {@link OutputEntryId}.
+   *
+   * @return the {@link OutputEntryId}.
+   */
   default OutputEntryId getOutputEntryId() {
     return (OutputEntryId) getId();
   }
 
+  /**
+   * Get the {@link VDmnOutputColumn}.
+   *
+   * @return the {@link VDmnOutputColumn}.
+   */
   default VDmnOutputColumn getDmnOutputColumn() {
     return (VDmnOutputColumn) getDmnColumn();
   }
diff --git a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/domain/vdmn/VDmnRule.java b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/domain/vdmn/VDmnRule.java
index 5b896bd1c2f7f6277acc087ea0d6c1444358ae9b..7bde779a2b8972f99a72a42c6a33f41a6398653f 100644
--- a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/domain/vdmn/VDmnRule.java
+++ b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/domain/vdmn/VDmnRule.java
@@ -4,24 +4,63 @@ import de.unikoblenz.fgbks.core.dmn.domain.common.RowNumber;
 import de.unikoblenz.fgbks.core.dmn.domain.ids.RuleId;
 import java.util.List;
 
+/**
+ * This interface represents a single rule (or row) in a {@link VDmnDecisionTable}. A rule contains
+ * a list of {@link VDmnInputValue}s and a list of {@link VDmnOutputValue}s.
+ */
 public interface VDmnRule extends VDmnElement {
 
+  /**
+   * Get the {@link RowNumber} of the rule inside the dmn table.
+   *
+   * @return the {@link RowNumber}.
+   */
   RowNumber getRowNumber();
 
+  /**
+   * Get the {@link VDmnDecisionTable}.
+   *
+   * @return the {@link VDmnDecisionTable}.
+   */
   VDmnDecisionTable getDmnDecisionTable();
 
+  /**
+   * Get a list of {@link VDmnInputValue}s.
+   *
+   * @return the list of {@link VDmnInputValue}
+   */
   List<VDmnInputValue> getDmnInputValues();
 
+  /**
+   * Get a list of {@link VDmnOutputValue}s.
+   *
+   * @return the list of {@link VDmnOutputValue}
+   */
   List<VDmnOutputValue> getDmnOutputValues();
 
+  /**
+   * Get the {@link RuleId} of the {@link VDmnRule}.
+   *
+   * @return the {@link RuleId}.
+   */
   default RuleId getRuleId() {
     return (RuleId) getId();
   }
 
+  /**
+   * Get the {@link VDmnDecision}.
+   *
+   * @return the {@link VDmnDecision}.
+   */
   default VDmnDecision getDmnDecision() {
     return getDmnDecisionTable().getDmnDecision();
   }
 
+  /**
+   * Get the {@link VDmnDefinition}.
+   *
+   * @return the {@link VDmnDefinition}.
+   */
   default VDmnDefinition getDmnDefinition() {
     return getDmnDecision().getDmnDefinition();
   }
diff --git a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/domain/vdmn/VDmnValue.java b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/domain/vdmn/VDmnValue.java
index 2f65a09aa304b6f170006f4c4a36f0b26b69f0f8..cf33286d8bb9bf364a1a051950679e3b1fb52cc3 100644
--- a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/domain/vdmn/VDmnValue.java
+++ b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/domain/vdmn/VDmnValue.java
@@ -11,60 +11,145 @@ import de.unikoblenz.fgbks.core.dmn.domain.ids.RuleId;
 import java.util.List;
 import java.util.Optional;
 
+/**
+ * This interface represents a single value (or cell) in a {@link VDmnDecisionTable}. It can either
+ * be a {@link VDmnInputValue} (in a {@link VDmnInputColumn}) or a {@link VDmnOutputValue} (in a
+ * {@link VDmnOutputColumn}). Furthermore each value exists in one {@link VDmnRule}.
+ */
 public interface VDmnValue extends VDmnElement {
 
+  /**
+   * Get the {@link VDmnRule} of the value.
+   *
+   * @return the {@link VDmnRule}
+   */
   VDmnRule getDmnRule();
 
+  /**
+   * Get the original text of the value.
+   *
+   * @return the {@link Text}
+   */
   Text getText();
 
+  /**
+   * Get the description, if present.
+   *
+   * @return the {@link Description} as optional
+   */
   Optional<Description> getDescription();
 
+  /**
+   * Get the column of the value. Can be a {@link VDmnInputColumn} or a {@link VDmnOutputColumn}.
+   *
+   * @return the {@link VDmnColumn}
+   */
   VDmnColumn getDmnColumn();
 
+  /**
+   * Get the possible string values, which are defined in {@link VDmnColumn#getPredefinedValues()}.
+   *
+   * @return an optional list of string values.
+   */
   default Optional<List<StringValue>> getPossiblePredefinedValues() {
     return getDmnColumn().getPredefinedValues();
   }
 
+  /**
+   * Get the {@link DefinitionId} of the {@link VDmnDefinition}.
+   *
+   * @return the {@link DefinitionId}.
+   */
   default DefinitionId getDefinitionId() {
     return getDmnDefinition().getDefinitionId();
   }
 
+  /**
+   * Get the {@link DecisionId} of the {@link VDmnDecision}.
+   *
+   * @return the {@link DecisionId}.
+   */
   default DecisionId getDecisionId() {
     return getDmnDecision().getDecisionId();
   }
 
+  /**
+   * Get the {@link DecisionTableId} of the {@link VDmnDecisionTable}.
+   *
+   * @return the {@link DecisionTableId}.
+   */
   default DecisionTableId getDecisionTableId() {
     return getDmnDecisionTable().getDecisionTableId();
   }
 
+  /**
+   * Get the {@link VTypeRef} of the {@link VDmnColumn}.
+   *
+   * @return the {@link VTypeRef}.
+   */
   default VTypeRef getTypeRef() {
     return getDmnColumn().getTypeRef();
   }
 
+  /**
+   * Get the {@link RuleId} of the {@link VDmnRule}.
+   *
+   * @return the {@link RuleId}.
+   */
   default RuleId getRuleId() {
     return getDmnRule().getRuleId();
   }
 
+  /**
+   * Get the {@link RowNumber} of the {@link VDmnRule}.
+   *
+   * @return the {@link RowNumber}.
+   */
   default RowNumber getRowNumber() {
     return getDmnRule().getRowNumber();
   }
 
+  /**
+   * Get a boolean, which determines, if the value is a input value.
+   *
+   * @return true, if the value is a input value
+   */
   default boolean isInputValue() {
     return getDmnColumn() instanceof VDmnInputColumn;
   }
 
+  /**
+   * Get a boolean, which determines, if the value is a output value.
+   *
+   * @return true, if the value is a output value
+   */
   default boolean isOutputValue() {
     return getDmnColumn() instanceof VDmnOutputColumn;
   }
 
+  /**
+   * Get the {@link VDmnDecisionTable}.
+   *
+   * @return the {@link VDmnDecisionTable}.
+   */
   default VDmnDecisionTable getDmnDecisionTable() {
     return getDmnColumn().getDmnDecisionTable();
   }
 
+  /**
+   * Get the {@link VDmnDecision}.
+   *
+   * @return the {@link VDmnDecision}.
+   */
   default VDmnDecision getDmnDecision() {
     return getDmnDecisionTable().getDmnDecision();
   }
 
+  /**
+   * Get the {@link VDmnDefinition}.
+   *
+   * @return the {@link VDmnDefinition}.
+   */
   default VDmnDefinition getDmnDefinition() {
     return getDmnDecision().getDmnDefinition();
   }
diff --git a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/domain/vdmn/VTypeRef.java b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/domain/vdmn/VTypeRef.java
index 9852ee9401385fc74ee9dafb1773c9322128e45b..fa9457f0eae3d9b68b81126e5649eab6a5aa3d5a 100644
--- a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/domain/vdmn/VTypeRef.java
+++ b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/domain/vdmn/VTypeRef.java
@@ -46,7 +46,7 @@ public enum VTypeRef {
   private Class<? extends Boundary> boundaryClass;
 
   /**
-   * Get the {@link VTypeRef} with the given name or {@link null}, if no VTypeRef was found with the
+   * Get the {@link VTypeRef} with the given name or null, if no VTypeRef was found with the
    * given name.
    *
    * @param name the name as String
@@ -62,7 +62,7 @@ public enum VTypeRef {
   }
 
   /**
-   * Get the {@link VTypeRef} with the given java {@link Class} or {@link null}, if no VTypeRef was
+   * Get the {@link VTypeRef} with the given java {@link Class} or null, if no VTypeRef was
    * found with the given java {@link Class}.
    *
    * @param javaClass java {@link Class}
diff --git a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/domain/vdmn/impl/AbstractVDmnColumnImpl.java b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/domain/vdmn/impl/AbstractVDmnColumnImpl.java
index 2691821ca73b03395b87f881254d0a9c388e348f..904168d8b05f8e5c1aaf241e643b75ac04e4e53f 100644
--- a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/domain/vdmn/impl/AbstractVDmnColumnImpl.java
+++ b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/domain/vdmn/impl/AbstractVDmnColumnImpl.java
@@ -12,6 +12,9 @@ import java.util.Collections;
 import java.util.List;
 import java.util.Optional;
 
+/**
+ * Implementation of {@link VDmnColumn}
+ */
 public abstract class AbstractVDmnColumnImpl extends AbstractVDmnElement implements VDmnColumn {
 
   protected VDmnDecisionTable dmnDecisionTable;
diff --git a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/domain/vdmn/impl/AbstractVDmnElement.java b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/domain/vdmn/impl/AbstractVDmnElement.java
index 76c8060f530f6953633ce617f683853948dc740e..25cdced13235b4cc8f11faeb82d6997de3eddd68 100644
--- a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/domain/vdmn/impl/AbstractVDmnElement.java
+++ b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/domain/vdmn/impl/AbstractVDmnElement.java
@@ -3,6 +3,9 @@ package de.unikoblenz.fgbks.core.dmn.domain.vdmn.impl;
 import de.unikoblenz.fgbks.core.dmn.domain.ids.AbstractId;
 import de.unikoblenz.fgbks.core.dmn.domain.vdmn.VDmnElement;
 
+/**
+ * Implementation of {@link VDmnElement}
+ */
 public abstract class AbstractVDmnElement implements VDmnElement {
 
   protected AbstractId id;
diff --git a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/domain/vdmn/impl/AbstractVDmnNode.java b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/domain/vdmn/impl/AbstractVDmnNode.java
index f026fadb1cebd0fb366c1dbbd335c531e859e952..acfe2d325455d33612787e905cfe0b9e066d4241 100644
--- a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/domain/vdmn/impl/AbstractVDmnNode.java
+++ b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/domain/vdmn/impl/AbstractVDmnNode.java
@@ -9,6 +9,9 @@ import java.util.Collections;
 import java.util.List;
 import java.util.Optional;
 
+/**
+ * Implementation of {@link VDmnNode}
+ */
 public abstract class AbstractVDmnNode extends AbstractVDmnElement implements VDmnNode {
 
   protected VDmnDefinition dmnDefinition;
diff --git a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/domain/vdmn/impl/AbstractVDmnValue.java b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/domain/vdmn/impl/AbstractVDmnValue.java
index 15c3db36d00f0af4153983b55833e2554aadca92..f1b29b46c230b3afabda1bf199682974f7512c53 100644
--- a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/domain/vdmn/impl/AbstractVDmnValue.java
+++ b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/domain/vdmn/impl/AbstractVDmnValue.java
@@ -7,6 +7,9 @@ import de.unikoblenz.fgbks.core.dmn.domain.vdmn.VDmnRule;
 import de.unikoblenz.fgbks.core.dmn.domain.vdmn.VDmnValue;
 import java.util.Optional;
 
+/**
+ * Implementation of {@link VDmnValue}
+ */
 public abstract class AbstractVDmnValue extends AbstractVDmnElement implements VDmnValue {
 
   protected VDmnRule dmnRule;
diff --git a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/domain/vdmn/impl/VDmnDecisionImpl.java b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/domain/vdmn/impl/VDmnDecisionImpl.java
index 2563bf01645074652c45544cb0483c759c233975..21f0a5ff9d252860f6ad266009be62ab4efdd969 100644
--- a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/domain/vdmn/impl/VDmnDecisionImpl.java
+++ b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/domain/vdmn/impl/VDmnDecisionImpl.java
@@ -11,6 +11,9 @@ import java.util.Collections;
 import java.util.List;
 import org.apache.commons.lang3.Validate;
 
+/**
+ * Implementation of {@link VDmnDecision}
+ */
 public class VDmnDecisionImpl extends AbstractVDmnNode implements VDmnDecision {
 
   private VDmnDecisionTable dmnDecisionTable;
@@ -31,6 +34,11 @@ public class VDmnDecisionImpl extends AbstractVDmnNode implements VDmnDecision {
     return dmnDecisionTable;
   }
 
+  /**
+   * Get a new instance of a builder.
+   *
+   * @return a new builder instance
+   */
   public static Builder getBuilder() {
     return new VDmnDecisionImpl().new Builder();
   }
diff --git a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/domain/vdmn/impl/VDmnDecisionTableImpl.java b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/domain/vdmn/impl/VDmnDecisionTableImpl.java
index a745aa11cd7d1df52f3ae1d4738059c4e5db3dc7..f472dfa142f5a3d9f8874cda20a3c51c1d066710 100644
--- a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/domain/vdmn/impl/VDmnDecisionTableImpl.java
+++ b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/domain/vdmn/impl/VDmnDecisionTableImpl.java
@@ -12,6 +12,9 @@ import java.util.List;
 import org.apache.commons.lang3.Validate;
 import org.camunda.bpm.model.dmn.HitPolicy;
 
+/**
+ * Implementation of {@link VDmnDecisionTable}
+ */
 public class VDmnDecisionTableImpl extends AbstractVDmnElement implements VDmnDecisionTable {
 
   private VDmnDecision dmnDecision;
@@ -21,6 +24,7 @@ public class VDmnDecisionTableImpl extends AbstractVDmnElement implements VDmnDe
   private List<VDmnRule> dmnRules;
 
   private VDmnDecisionTableImpl() {
+    super();
     dmnOutputColumns = new ArrayList<>();
     dmnInputColumns = new ArrayList<>();
     dmnRules = new ArrayList<>();
@@ -51,6 +55,11 @@ public class VDmnDecisionTableImpl extends AbstractVDmnElement implements VDmnDe
     return Collections.unmodifiableList(dmnRules);
   }
 
+  /**
+   * Get a new instance of a builder.
+   *
+   * @return a new builder instance
+   */
   public static Builder getBuilder() {
     return new VDmnDecisionTableImpl().new Builder();
   }
diff --git a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/domain/vdmn/impl/VDmnDefinitionImpl.java b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/domain/vdmn/impl/VDmnDefinitionImpl.java
index 498a157aab46c362862df433f0a93c7c00a2a13d..6657a61663c5b631d0ca6d8f89bf0fe327b0be06 100644
--- a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/domain/vdmn/impl/VDmnDefinitionImpl.java
+++ b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/domain/vdmn/impl/VDmnDefinitionImpl.java
@@ -14,6 +14,9 @@ import java.util.List;
 import java.util.Map;
 import org.apache.commons.lang3.Validate;
 
+/**
+ * Implementation of {@link VDmnDefinition}.
+ */
 public class VDmnDefinitionImpl extends AbstractVDmnElement implements VDmnDefinition {
 
   private List<VDmnDecision> dmnDecisions;
@@ -21,6 +24,7 @@ public class VDmnDefinitionImpl extends AbstractVDmnElement implements VDmnDefin
   private Map<AbstractId, VDmnElement> elements;
 
   private VDmnDefinitionImpl() {
+    super();
     dmnDecisions = new ArrayList<>();
     dmnInputData = new ArrayList<>();
     elements = new HashMap<>();
@@ -41,6 +45,11 @@ public class VDmnDefinitionImpl extends AbstractVDmnElement implements VDmnDefin
     return elements.get(Validate.notNull(id));
   }
 
+  /**
+   * Get a new instance of a builder.
+   *
+   * @return a new builder instance
+   */
   public static Builder getBuilder() {
     return new VDmnDefinitionImpl().new Builder();
   }
diff --git a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/domain/vdmn/impl/VDmnInputColumnImpl.java b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/domain/vdmn/impl/VDmnInputColumnImpl.java
index ea1b3a0c29d0648e83a2de0b3eda60c74255dcdb..30f6aeff901835b5d1f6652539336b458b4574c5 100644
--- a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/domain/vdmn/impl/VDmnInputColumnImpl.java
+++ b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/domain/vdmn/impl/VDmnInputColumnImpl.java
@@ -11,6 +11,9 @@ import de.unikoblenz.fgbks.core.dmn.domain.vdmn.VDmnInputValue;
 import de.unikoblenz.fgbks.core.dmn.domain.vdmn.VTypeRef;
 import org.apache.commons.lang3.Validate;
 
+/**
+ * Implementation of {@link VDmnInputColumn}.
+ */
 public class VDmnInputColumnImpl extends AbstractVDmnColumnImpl implements VDmnInputColumn {
 
   private InputExpressionId inputExpressionId;
@@ -19,6 +22,11 @@ public class VDmnInputColumnImpl extends AbstractVDmnColumnImpl implements VDmnI
     super();
   }
 
+  /**
+   * Get a new instance of a builder.
+   *
+   * @return a new builder instance
+   */
   public static Builder getBuilder() {
     return new VDmnInputColumnImpl().new Builder();
   }
diff --git a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/domain/vdmn/impl/VDmnInputDataImpl.java b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/domain/vdmn/impl/VDmnInputDataImpl.java
index fa02c88ad34d3994b685fef5e732bb426a7dde71..6556a3842003cfcd032af259e254189c4704485b 100644
--- a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/domain/vdmn/impl/VDmnInputDataImpl.java
+++ b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/domain/vdmn/impl/VDmnInputDataImpl.java
@@ -7,12 +7,20 @@ import de.unikoblenz.fgbks.core.dmn.domain.vdmn.VDmnDefinition;
 import de.unikoblenz.fgbks.core.dmn.domain.vdmn.VDmnInputData;
 import org.apache.commons.lang3.Validate;
 
+/**
+ * Implementation of {@link VDmnInputData}.
+ */
 public class VDmnInputDataImpl extends AbstractVDmnNode implements VDmnInputData {
 
   private VDmnInputDataImpl() {
     super();
   }
 
+  /**
+   * Get a new instance of a builder.
+   *
+   * @return a new builder instance
+   */
   public static Builder getBuilder() {
     return new VDmnInputDataImpl().new Builder();
   }
diff --git a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/domain/vdmn/impl/VDmnInputValueChangeableImpl.java b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/domain/vdmn/impl/VDmnInputValueChangeableImpl.java
index 6108f4b405b49cb97ed9ec82774be11735d12645..b04f5844969dffc939ac562c64b5e23318403e41 100644
--- a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/domain/vdmn/impl/VDmnInputValueChangeableImpl.java
+++ b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/domain/vdmn/impl/VDmnInputValueChangeableImpl.java
@@ -1,8 +1,12 @@
 package de.unikoblenz.fgbks.core.dmn.domain.vdmn.impl;
 
 import de.unikoblenz.fgbks.base.utils.boundary.Boundary;
+import de.unikoblenz.fgbks.core.dmn.domain.vdmn.VDmnInputValue;
 import org.apache.commons.lang3.Validate;
 
+/**
+ * Implementation of {@link VDmnInputValue}. Create a input value with changeable boundaries.
+ */
 public class VDmnInputValueChangeableImpl extends VDmnInputValueImpl {
 
   public VDmnInputValueChangeableImpl(VDmnInputValueImpl inputValue) {
diff --git a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/domain/vdmn/impl/VDmnInputValueImpl.java b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/domain/vdmn/impl/VDmnInputValueImpl.java
index bbc0cc305e9b07b8ef01e57fad46af7acbe91afe..1183d9af3e9954051b139ebc484c61c8b82d149e 100644
--- a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/domain/vdmn/impl/VDmnInputValueImpl.java
+++ b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/domain/vdmn/impl/VDmnInputValueImpl.java
@@ -9,14 +9,15 @@ import de.unikoblenz.fgbks.core.dmn.domain.vdmn.VDmnInputValue;
 import de.unikoblenz.fgbks.core.dmn.domain.vdmn.VDmnRule;
 import org.apache.commons.lang3.Validate;
 
+/**
+ * Implementation of {@link VDmnInputValue}.
+ */
 public class VDmnInputValueImpl extends AbstractVDmnValue implements VDmnInputValue {
 
   protected Boundary boundary;
 
-  protected VDmnInputValueImpl() {}
-
-  public static Builder getBuilder() {
-    return new VDmnInputValueImpl().new Builder();
+  protected VDmnInputValueImpl() {
+    super();
   }
 
   @Override
@@ -24,6 +25,15 @@ public class VDmnInputValueImpl extends AbstractVDmnValue implements VDmnInputVa
     return boundary;
   }
 
+  /**
+   * Get a new instance of a builder.
+   *
+   * @return a new builder instance
+   */
+  public static Builder getBuilder() {
+    return new VDmnInputValueImpl().new Builder();
+  }
+
   public class Builder extends AbstractDmnElementBuilder<VDmnInputValueImpl> {
 
     public Builder withDmnRule(VDmnRule dmnRule) {
diff --git a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/domain/vdmn/impl/VDmnOutputColumnImpl.java b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/domain/vdmn/impl/VDmnOutputColumnImpl.java
index 79a22777a367e5fe8ad59bb10c52d315560b0300..80c00224bba4e0d720329b1689cadc1921de2f23 100644
--- a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/domain/vdmn/impl/VDmnOutputColumnImpl.java
+++ b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/domain/vdmn/impl/VDmnOutputColumnImpl.java
@@ -10,12 +10,20 @@ import de.unikoblenz.fgbks.core.dmn.domain.vdmn.VDmnOutputValue;
 import de.unikoblenz.fgbks.core.dmn.domain.vdmn.VTypeRef;
 import org.apache.commons.lang3.Validate;
 
+/**
+ * Implementation of {@link VDmnOutputColumn}.
+ */
 public class VDmnOutputColumnImpl extends AbstractVDmnColumnImpl implements VDmnOutputColumn {
 
   private VDmnOutputColumnImpl() {
     super();
   }
 
+  /**
+   * Get a new instance of a builder.
+   *
+   * @return a new builder instance
+   */
   public static Builder getBuilder() {
     return new VDmnOutputColumnImpl().new Builder();
   }
diff --git a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/domain/vdmn/impl/VDmnOutputValueImpl.java b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/domain/vdmn/impl/VDmnOutputValueImpl.java
index 1eaba8a75de72c85c1d4fef19d0d8e5c402b03be..27465226c3fca1d6c5a40ebde80f0051dbd8a0ea 100644
--- a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/domain/vdmn/impl/VDmnOutputValueImpl.java
+++ b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/domain/vdmn/impl/VDmnOutputValueImpl.java
@@ -8,10 +8,20 @@ import de.unikoblenz.fgbks.core.dmn.domain.vdmn.VDmnOutputValue;
 import de.unikoblenz.fgbks.core.dmn.domain.vdmn.VDmnRule;
 import org.apache.commons.lang3.Validate;
 
+/**
+ * Implementation of {@link VDmnOutputValue}.
+ */
 public class VDmnOutputValueImpl extends AbstractVDmnValue implements VDmnOutputValue {
 
-  private VDmnOutputValueImpl() {}
+  private VDmnOutputValueImpl() {
+    super();
+  }
 
+  /**
+   * Get a new instance of a builder.
+   *
+   * @return a new builder instance
+   */
   public static Builder getBuilder() {
     return new VDmnOutputValueImpl().new Builder();
   }
diff --git a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/domain/vdmn/impl/VDmnRuleChangeableImpl.java b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/domain/vdmn/impl/VDmnRuleChangeableImpl.java
index 3179702c3bac283e763d1eff12bed1c737d47ad6..3b00d467b304e83020938fe5f300929b891d293c 100644
--- a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/domain/vdmn/impl/VDmnRuleChangeableImpl.java
+++ b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/domain/vdmn/impl/VDmnRuleChangeableImpl.java
@@ -2,8 +2,12 @@ package de.unikoblenz.fgbks.core.dmn.domain.vdmn.impl;
 
 import de.unikoblenz.fgbks.core.dmn.domain.vdmn.VDmnInputValue;
 import de.unikoblenz.fgbks.core.dmn.domain.vdmn.VDmnOutputValue;
+import de.unikoblenz.fgbks.core.dmn.domain.vdmn.VDmnRule;
 import org.apache.commons.lang3.Validate;
 
+/**
+ * Implementation of {@link VDmnRule}. Create a rule, which has changeable values
+ */
 public class VDmnRuleChangeableImpl extends VDmnRuleImpl {
 
   public VDmnRuleChangeableImpl(VDmnRuleImpl rule) {
diff --git a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/domain/vdmn/impl/VDmnRuleImpl.java b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/domain/vdmn/impl/VDmnRuleImpl.java
index 24a57780543ff32587a3bc473011b3858ad408e2..5ffc67ed3225ef125cb538c264793c62732eb0ad 100644
--- a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/domain/vdmn/impl/VDmnRuleImpl.java
+++ b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/domain/vdmn/impl/VDmnRuleImpl.java
@@ -11,6 +11,9 @@ import java.util.Collections;
 import java.util.List;
 import org.apache.commons.lang3.Validate;
 
+/**
+ * Implementation of {@link VDmnRule}.
+ */
 public class VDmnRuleImpl extends AbstractVDmnElement implements VDmnRule {
 
   protected RowNumber rowNumber;
@@ -43,6 +46,11 @@ public class VDmnRuleImpl extends AbstractVDmnElement implements VDmnRule {
     return Collections.unmodifiableList(outputValues);
   }
 
+  /**
+   * Get a new instance of a builder.
+   *
+   * @return a new builder instance
+   */
   public static Builder getBuilder() {
     return new VDmnRuleImpl().new Builder();
   }
diff --git a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/domain/vdmn/parser/SimpleVDmnParser.java b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/domain/vdmn/parser/SimpleVDmnParser.java
index e953cc668cd207b1e04b22d049c31538323a8fcd..7ad51898ef719b0aec9e1b9839297ddff5e0a77a 100644
--- a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/domain/vdmn/parser/SimpleVDmnParser.java
+++ b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/domain/vdmn/parser/SimpleVDmnParser.java
@@ -41,12 +41,13 @@ import org.camunda.bpm.model.dmn.instance.Output;
 import org.camunda.bpm.model.dmn.instance.OutputEntry;
 import org.camunda.bpm.model.dmn.instance.Rule;
 
+/**
+ * Simple Vdmn parser parse the {@link DmnModelInstance} to a {@link VDmnDefinition}
+ */
 @ApplicationScoped
 public class SimpleVDmnParser implements DmnModelInstanceWrapper {
 
-  /**
-   * {@inheritDoc}
-   */
+  /** {@inheritDoc} */
   @Override
   public VDmnDefinition getVDmnDefinition(DmnModelInstance dmnModel) {
     // Get the definition