diff --git a/semantik-adapter/src/main/java/de/ozgcloud/eingang/semantik/formbased/FormBasedSemantikAdapter.java b/semantik-adapter/src/main/java/de/ozgcloud/eingang/semantik/formbased/FormBasedSemantikAdapter.java
index 39a9a030a2749cb3c0d7affce5e5956491697c84..9f2d644ab509c5cfce07cca94a33c1b8abefa2ed 100644
--- a/semantik-adapter/src/main/java/de/ozgcloud/eingang/semantik/formbased/FormBasedSemantikAdapter.java
+++ b/semantik-adapter/src/main/java/de/ozgcloud/eingang/semantik/formbased/FormBasedSemantikAdapter.java
@@ -23,25 +23,41 @@
  */
 package de.ozgcloud.eingang.semantik.formbased;
 
+import java.util.Collections;
 import java.util.List;
 
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import de.ozgcloud.eingang.common.formdata.FormData;
-import lombok.RequiredArgsConstructor;
 
 @Service
-@RequiredArgsConstructor
 public class FormBasedSemantikAdapter {
 
-	private final List<FormBasedMapper> mappers;
+	@Autowired(required = false)
+	private List<FormBasedMapper> mappers = Collections.emptyList();
 
 	public FormData parseFormData(FormData formData) {
-		for(var mapper: mappers) {
-			if (mapper.isResponsible(formData)) {
-				formData = mapper.parseFormData(formData);
-			}
+
+		return new FormDataProcessor().process(formData);
+	}
+
+	class FormDataProcessor {
+		private FormData processedFormData;
+
+		FormData process(FormData originalFormData) {
+			processedFormData = originalFormData;
+			mappers.stream()
+					.filter(mapper -> mapper.isResponsible(processedFormData))
+					.forEach(this::parseWithMapper);
+
+			return processedFormData;
 		}
-		return formData;
+
+		private void parseWithMapper(FormBasedMapper mapper) {
+			processedFormData = mapper.parseFormData(processedFormData);
+		}
+
 	}
+
 }