diff --git a/semantik-adapter/src/main/java/de/ozgcloud/eingang/semantik/SemantikAdapter.java b/semantik-adapter/src/main/java/de/ozgcloud/eingang/semantik/SemantikAdapter.java
index 7641a94284e519298304f8702cc5f467cde30090..47a3d8570d4b2b6c3b3b7aaa5a5d2bba58271f57 100644
--- a/semantik-adapter/src/main/java/de/ozgcloud/eingang/semantik/SemantikAdapter.java
+++ b/semantik-adapter/src/main/java/de/ozgcloud/eingang/semantik/SemantikAdapter.java
@@ -24,7 +24,6 @@
 package de.ozgcloud.eingang.semantik;
 
 import java.util.List;
-import java.util.Optional;
 
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -52,15 +51,16 @@ public class SemantikAdapter {
 	}
 
 	private FormData parseByEngineAdapter(FormData formData) {
-		return findResponsibleEngineAdapter(formData)
-				.map(adapter -> adapter.parseFormData(formData))
-				.orElse(formData);
+		for (var adapter : getResponsibleEngineAdapters(formData)) {
+			formData = adapter.parseFormData(formData);
+		}
+		return formData;
 	}
 
-	Optional<EngineBasedSemantikAdapter> findResponsibleEngineAdapter(FormData formData) {
+	List<EngineBasedSemantikAdapter> getResponsibleEngineAdapters(FormData formData) {
 		return engineBasedAdapters.stream()
 				.filter(adapter -> adapter.isResponsible(formData))
-				.findFirst();
+				.toList();
 	}
 
 	private FormData parseByFormAdapter(FormData formData) {
diff --git a/semantik-adapter/src/test/java/de/ozgcloud/eingang/semantik/SemantikAdapterTest.java b/semantik-adapter/src/test/java/de/ozgcloud/eingang/semantik/SemantikAdapterTest.java
index dbe206cafc115bf08a30839bab78afbc1933fdb3..754667f0298c9d867846cafee6f28d6b82677fd2 100644
--- a/semantik-adapter/src/test/java/de/ozgcloud/eingang/semantik/SemantikAdapterTest.java
+++ b/semantik-adapter/src/test/java/de/ozgcloud/eingang/semantik/SemantikAdapterTest.java
@@ -28,7 +28,6 @@ import static org.mockito.ArgumentMatchers.*;
 import static org.mockito.Mockito.*;
 
 import java.util.List;
-import java.util.Optional;
 import java.util.stream.Stream;
 
 import org.junit.jupiter.api.BeforeEach;
@@ -60,36 +59,27 @@ class SemantikAdapterTest {
 	@Mock
 	private VorgangService vorgangService;
 
-	@DisplayName("find responsible engine adapter")
+	@DisplayName("get responsible engine adapters")
 	@Nested
-	class TestFindResponsibleEngineAdapter {
+	class TestGetResponsibleEngineAdapters {
+		@Mock
+		private EngineBasedSemantikAdapter unresponsibleEngineAdapter;
+		@Mock
+		private FormData formData;
 
 		@BeforeEach
 		void mock() {
-			when(engineAdapters.stream()).thenReturn(Stream.of(engineAdapter));
+			when(unresponsibleEngineAdapter.isResponsible(formData)).thenReturn(false);
+			when(engineAdapter.isResponsible(formData)).thenReturn(true);
+			when(engineAdapters.stream()).thenReturn(Stream.of(engineAdapter, unresponsibleEngineAdapter));
 		}
 
-		@Mock
-		private FormData formData;
-
 		@DisplayName("should return responsible")
 		@Test
 		void shouldReturnResponsible() {
-			when(engineAdapter.isResponsible(any())).thenReturn(true);
-
-			var foundAdapter = adapter.findResponsibleEngineAdapter(formData);
-
-			assertThat(foundAdapter).isEqualTo(Optional.of(engineAdapter));
-		}
-
-		@DisplayName("should return empty if not responsible")
-		@Test
-		void shouldReturnEmptyIfNotResponsible() {
-			when(engineAdapter.isResponsible(any())).thenReturn(false);
-
-			var foundAdapter = adapter.findResponsibleEngineAdapter(formData);
+			var foundAdapters = adapter.getResponsibleEngineAdapters(formData);
 
-			assertThat(foundAdapter).isNotPresent();
+			assertThat(foundAdapters).isEqualTo(List.of(engineAdapter));
 		}
 	}
 
@@ -105,7 +95,7 @@ class SemantikAdapterTest {
 
 		@BeforeEach
 		void mockEngineAdapter() {
-			doReturn(Optional.of(engineAdapter)).when(adapter).findResponsibleEngineAdapter(formData);
+			doReturn(List.of(engineAdapter)).when(adapter).getResponsibleEngineAdapters(formData);
 			when(engineAdapter.parseFormData(any())).thenReturn(engineAdapterResponse);
 			when(formAdapter.parseFormData(any())).thenReturn(formAdapterResponse);
 		}
@@ -114,7 +104,7 @@ class SemantikAdapterTest {
 		void shouldCallFindEngineAdapter() {
 			adapter.processFormData(formData);
 
-			verify(adapter).findResponsibleEngineAdapter(formData);
+			verify(adapter).getResponsibleEngineAdapters(formData);
 		}
 
 		@Test