diff --git a/api-lib-core/src/main/java/de/ozgcloud/apilib/vorgang/grpc/OzgCloudVorgangQueryMapper.java b/api-lib-core/src/main/java/de/ozgcloud/apilib/vorgang/grpc/OzgCloudVorgangQueryMapper.java
index 96a696ee9ce7847154863b1c39043a4d5a733440..aaf82cc3bbe9a05cd9cb21102acd28920441be64 100644
--- a/api-lib-core/src/main/java/de/ozgcloud/apilib/vorgang/grpc/OzgCloudVorgangQueryMapper.java
+++ b/api-lib-core/src/main/java/de/ozgcloud/apilib/vorgang/grpc/OzgCloudVorgangQueryMapper.java
@@ -5,6 +5,7 @@ import java.util.HashSet;
 import java.util.Optional;
 import java.util.Set;
 
+import org.apache.commons.collections.CollectionUtils;
 import org.mapstruct.CollectionMappingStrategy;
 import org.mapstruct.Mapper;
 import org.mapstruct.Mapping;
@@ -23,31 +24,31 @@ import de.ozgcloud.vorgang.vorgang.GrpcVorgangQueryExpression.Builder;
 @Mapper(collectionMappingStrategy = CollectionMappingStrategy.ADDER_PREFERRED, nullValueCheckStrategy = NullValueCheckStrategy.ALWAYS, unmappedTargetPolicy = ReportingPolicy.WARN)
 public interface OzgCloudVorgangQueryMapper {
 
-	static final String FORM_ENGINE_NAME_PATH = "eingangs.header.formEngineName";
-	static final String STATUS_PATH = "status";
-	static final String ORGANISATIONS_EINHEIT_ID_PATH = "eingangs.zustaendigeStelle.organisationseinheitenId";
-	static final String AKTENZEICHEN_PATH = "aktenzeichen";
-	static final String FORM_ID_PATH = "eingangs.header.formId";
+	String FORM_ENGINE_NAME_PATH = "eingangs.header.formEngineName";
+	String STATUS_PATH = "status";
+	String ORGANISATIONS_EINHEIT_ID_PATH = "eingangs.zustaendigeStelle.organisationseinheitenId";
+	String AKTENZEICHEN_PATH = "aktenzeichen";
+	String FORM_ID_PATH = "eingangs.header.formId";
 
 	default GrpcQuery toGrpc(OzgCloudVorgangQuery ozgCloudVorgangQuery) {
-		var queryBuilder = mapPropertiesToQuery(ozgCloudVorgangQuery);
-
-		if (queryBuilder.getExpressionsList().isEmpty()) {
-			return ozgCloudVorgangQuery.getQuery().map(this::toQuery)
-					.orElseGet(GrpcQuery::getDefaultInstance);
-		}
+		return hasPropertyExpressions(ozgCloudVorgangQuery)
+				? mapAllToQuery(ozgCloudVorgangQuery)
+				: ozgCloudVorgangQuery.getQuery().map(this::toQuery).orElseGet(GrpcQuery::getDefaultInstance);
+	}
 
-		ozgCloudVorgangQuery.getQuery().map(this::toQuery).ifPresent(queryBuilder::setNestedQuery);
-		return queryBuilder.build();
+	default boolean hasPropertyExpressions(OzgCloudVorgangQuery query) {
+		return query.getAktenzeichen().isPresent() || query.getForm().isPresent() || query.getStatus().isPresent()
+				|| query.getOrganisationsEinheitId().isPresent();
 	}
 
-	default GrpcQuery.Builder mapPropertiesToQuery(OzgCloudVorgangQuery query) {
+	default GrpcQuery mapAllToQuery(OzgCloudVorgangQuery query) {
 		var queryBuilder = GrpcQuery.newBuilder().setLogicalOperator(GrpcLogicalOperator.AND);
 		query.getAktenzeichen().map(this::toAktenzeichenExpression).ifPresent(queryBuilder::addExpressions);
-		query.getForm().map(this::toFormExpressions).ifPresent(queryBuilder::addAllExpressions);
+		query.getForm().map(this::toFormExpressions).filter(CollectionUtils::isNotEmpty).ifPresent(queryBuilder::addAllExpressions);
 		query.getStatus().map(this::toStatusExpression).ifPresent(queryBuilder::addExpressions);
 		query.getOrganisationsEinheitId().map(this::toOrganisationsEinheitIdExpression).ifPresent(queryBuilder::addExpressions);
-		return queryBuilder;
+		query.getQuery().map(this::toQuery).ifPresent(queryBuilder::setNestedQuery);
+		return queryBuilder.build();
 	}
 
 	default GrpcVorgangQueryExpression toAktenzeichenExpression(String aktenzeichen) {
@@ -72,24 +73,20 @@ public interface OzgCloudVorgangQueryMapper {
 	}
 
 	default Set<GrpcVorgangQueryExpression> toFormExpressions(FormIdentification formIdentification) {
-		var expressions = new HashSet<GrpcVorgangQueryExpression>(2);
-		Optional.ofNullable(formIdentification.getFormEngineName())
-				.map(this::toFormEngineNameExpression)
-				.ifPresent(expressions::add);
-		Optional.ofNullable(formIdentification.getFormId())
-				.map(this::toFormIdExpression)
-				.ifPresent(expressions::add);
+		var expressions = HashSet.<GrpcVorgangQueryExpression>newHashSet(2);
+		Optional.ofNullable(formIdentification.getFormEngineName()).map(this::toFormEngineNameExpression).ifPresent(expressions::add);
+		Optional.ofNullable(formIdentification.getFormId()).map(this::toFormIdExpression).ifPresent(expressions::add);
 		return Collections.unmodifiableSet(expressions);
 	}
 
-	private GrpcVorgangQueryExpression toFormEngineNameExpression(String formEngineName) {
+	default GrpcVorgangQueryExpression toFormEngineNameExpression(String formEngineName) {
 		return getEqualExpressionBuilder()
 				.setPath(FORM_ENGINE_NAME_PATH)
 				.setOperandStringValue(formEngineName)
 				.build();
 	}
 
-	private GrpcVorgangQueryExpression toFormIdExpression(String formId) {
+	default GrpcVorgangQueryExpression toFormIdExpression(String formId) {
 		return getEqualExpressionBuilder()
 				.setPath(FORM_ID_PATH)
 				.setOperandStringValue(formId)
diff --git a/api-lib-core/src/test/java/de/ozgcloud/apilib/vorgang/grpc/OzgCloudVorgangQueryMapperTest.java b/api-lib-core/src/test/java/de/ozgcloud/apilib/vorgang/grpc/OzgCloudVorgangQueryMapperTest.java
index bcdc22ee4286ea121954f3772080085a2d38279c..f4bf8cac7748af137a4299664dce04e907b8f9b8 100644
--- a/api-lib-core/src/test/java/de/ozgcloud/apilib/vorgang/grpc/OzgCloudVorgangQueryMapperTest.java
+++ b/api-lib-core/src/test/java/de/ozgcloud/apilib/vorgang/grpc/OzgCloudVorgangQueryMapperTest.java
@@ -1,10 +1,10 @@
 package de.ozgcloud.apilib.vorgang.grpc;
 
 import static org.assertj.core.api.Assertions.*;
-import static org.junit.jupiter.api.Assertions.*;
 import static org.mockito.ArgumentMatchers.*;
 import static org.mockito.Mockito.*;
 
+import java.util.Collections;
 import java.util.Optional;
 import java.util.Set;
 
@@ -12,10 +12,12 @@ import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Nested;
 import org.junit.jupiter.api.Test;
 import org.mapstruct.factory.Mappers;
+import org.mockito.Mock;
 import org.mockito.Spy;
 
 import de.ozgcloud.apilib.vorgang.FormIdentificationTestFactory;
 import de.ozgcloud.apilib.vorgang.OzgCloudVorgangQuery;
+import de.ozgcloud.apilib.vorgang.OzgCloudVorgangQuery.FormIdentification;
 import de.ozgcloud.apilib.vorgang.OzgCloudVorgangQuery.Query;
 import de.ozgcloud.apilib.vorgang.OzgCloudVorgangQueryTestFactory;
 import de.ozgcloud.apilib.vorgang.QueryTestFactory;
@@ -31,111 +33,132 @@ class OzgCloudVorgangQueryMapperTest {
 	@Nested
 	class TestToGrpc {
 
+		@Mock
+		private GrpcQuery grpcQuery;
+
 		@Test
-		void shouldCallMapProperetiesToQuery() {
-			var query = OzgCloudVorgangQueryTestFactory.create();
+		void shoulcCallHasPropertyExpressions() {
+			var ozgCloudVorgangQuery = OzgCloudVorgangQueryTestFactory.create();
 
-			mapper.toGrpc(query);
+			mapper.toGrpc(ozgCloudVorgangQuery);
 
-			verify(mapper).mapPropertiesToQuery(query);
+			verify(mapper).hasPropertyExpressions(ozgCloudVorgangQuery);
 		}
 
 		@Nested
-		class OnNoNestedQuery {
+		class TestHasPropertyExpressions {
 
-			private final OzgCloudVorgangQuery query = OzgCloudVorgangQueryTestFactory.createBuilder()
-					.query(Optional.empty())
-					.build();
+			@BeforeEach
+			void init() {
+				doReturn(true).when(mapper).hasPropertyExpressions(any());
+			}
+
+			@Test
+			void shouldCallMapToQuery() {
+				var ozgCloudVorgangQuery = OzgCloudVorgangQueryTestFactory.create();
 
-			private final GrpcQuery.Builder queryBuilder = GrpcQueryTestFactory.createBuilder();
+				mapper.toGrpc(ozgCloudVorgangQuery);
 
-			@BeforeEach
-			void mock() {
-				doReturn(queryBuilder).when(mapper).mapPropertiesToQuery(query);
+				verify(mapper).mapAllToQuery(ozgCloudVorgangQuery);
 			}
 
 			@Test
-			void shouldReturnBuiltQuery() {
-				var grpcQuery = mapper.toGrpc(query);
+			void shouldReturnResult() {
+				doReturn(grpcQuery).when(mapper).mapAllToQuery(any());
+
+				var result = mapper.toGrpc(OzgCloudVorgangQueryTestFactory.create());
 
-				assertThat(grpcQuery).usingRecursiveComparison().isEqualTo(GrpcQueryTestFactory.create());
+				assertThat(result).isSameAs(grpcQuery);
 			}
 		}
 
 		@Nested
-		class OnNoProperties {
-			private final OzgCloudVorgangQuery query = OzgCloudVorgangQueryTestFactory.create();
+		class TestHasNoPropertyExpressions {
 
 			@BeforeEach
-			void mock() {
-				doReturn(queryBuilder).when(mapper).mapPropertiesToQuery(query);
+			void init() {
+				doReturn(false).when(mapper).hasPropertyExpressions(any());
 			}
 
-			private final GrpcQuery.Builder queryBuilder = GrpcQueryTestFactory.createBuilder()
-					.clearExpressions();
-
 			@Test
-			void shouldMapQueryToGrpcQuery() {
-				mapper.toGrpc(query);
+			void shouldCallToQuery() {
+				var ozgCloudVorgangQuery = OzgCloudVorgangQueryTestFactory.create();
+
+				mapper.toGrpc(ozgCloudVorgangQuery);
 
 				verify(mapper).toQuery(OzgCloudVorgangQueryTestFactory.QUERY);
 			}
 
 			@Test
-			void shouldReturnMappedQuery() {
-				var mappedQuery = GrpcQueryTestFactory.create();
-				doReturn(mappedQuery).when(mapper).toQuery(OzgCloudVorgangQueryTestFactory.QUERY);
+			void shouldReturnResult() {
+				doReturn(grpcQuery).when(mapper).toQuery(any(Query.class));
 
-				var grpcQuery = mapper.toGrpc(query);
+				var result = mapper.toGrpc(OzgCloudVorgangQueryTestFactory.create());
 
-				assertThat(grpcQuery).isEqualTo(mappedQuery);
+				assertThat(result).isSameAs(grpcQuery);
+			}
+
+			@Test
+			void shouldReturnDefaultInstance() {
+				var ozgCloudQuery = OzgCloudVorgangQueryTestFactory.createBuilder().query(Optional.empty()).build();
+
+				var result = mapper.toGrpc(ozgCloudQuery);
+
+				assertThat(result).isEqualTo(GrpcQuery.getDefaultInstance());
 			}
 		}
+	}
 
-		@Nested
-		class OnNestedQueryAndProperties {
+	@Nested
+	class TestHasPropertyExpressions {
 
-			private final OzgCloudVorgangQuery query = OzgCloudVorgangQueryTestFactory.create();
+		@Test
+		void shouldReturnFalse() {
+			var query = OzgCloudVorgangQuery.builder().query(Optional.of(OzgCloudVorgangQueryTestFactory.QUERY)).build();
 
-			private final GrpcQuery.Builder queryBuilder = GrpcQueryTestFactory.createBuilder();
+			var result = mapper.hasPropertyExpressions(query);
 
-			@BeforeEach
-			void mock() {
-				doReturn(queryBuilder).when(mapper).mapPropertiesToQuery(query);
-			}
+			assertThat(result).isFalse();
+		}
+
+		@Nested
+		class TestOnPropertySet {
 
 			@Test
-			void shouldCallMapQuery() {
-				mapper.toGrpc(query);
+			void shouldReturnTrueWithAktenzeichen() {
+				var query = OzgCloudVorgangQuery.builder().aktenzeichen(Optional.of(OzgCloudVorgangQueryTestFactory.AKTENZEICHEN)).build();
 
-				verify(mapper).toQuery(OzgCloudVorgangQueryTestFactory.QUERY);
+				var result = mapper.hasPropertyExpressions(query);
+
+				assertThat(result).isTrue();
 			}
 
 			@Test
-			void shouldReturnGrpcQuery() {
-				var nestedQuery = GrpcQueryTestFactory.create();
-				var expectedQuery = GrpcQueryTestFactory.createBuilder()
-						.setNestedQuery(nestedQuery)
-						.build();
-				doReturn(nestedQuery).when(mapper).toQuery(OzgCloudVorgangQueryTestFactory.QUERY);
+			void shouldReturnTrueWithOrganisationsEinheitId() {
+				var query = OzgCloudVorgangQuery.builder()
+						.organisationsEinheitId(Optional.of(OzgCloudVorgangQueryTestFactory.ORGANISATIONS_EINHEIT_ID)).build();
 
-				var grpcQuery = mapper.toGrpc(query);
+				var result = mapper.hasPropertyExpressions(query);
 
-				assertThat(grpcQuery).usingRecursiveComparison().isEqualTo(expectedQuery);
+				assertThat(result).isTrue();
 			}
 
-		}
+			@Test
+			void shouldReturnTrueWithForm() {
+				var query = OzgCloudVorgangQuery.builder().form(Optional.of(FormIdentificationTestFactory.create())).build();
 
-		@Nested
-		class OnEmptyQuery {
+				var result = mapper.hasPropertyExpressions(query);
 
-			private final OzgCloudVorgangQuery query = OzgCloudVorgangQuery.builder().build();
+				assertThat(result).isTrue();
+			}
 
 			@Test
-			void shouldMapToDefaultGrpcQuery() {
-				var grpcQuery = mapper.toGrpc(query);
+			void shouldReturnTrueWithStatus() {
+				var query = OzgCloudVorgangQuery.builder().status(Optional.of(OzgCloudVorgangQueryTestFactory.STATUS)).build();
+
+				var result = mapper.hasPropertyExpressions(query);
 
-				assertThat(grpcQuery).usingRecursiveComparison().isEqualTo(GrpcQuery.getDefaultInstance());
+				assertThat(result).isTrue();
 			}
 		}
 	}
@@ -154,7 +177,7 @@ class OzgCloudVorgangQueryMapperTest {
 
 			@Test
 			void shouldCallToAktenzeichenExpression() {
-				mapper.mapPropertiesToQuery(OzgCloudVorgangQueryTestFactory.create());
+				mapper.mapAllToQuery(OzgCloudVorgangQueryTestFactory.create());
 
 				verify(mapper).toAktenzeichenExpression(OzgCloudVorgangQueryTestFactory.AKTENZEICHEN);
 			}
@@ -163,14 +186,14 @@ class OzgCloudVorgangQueryMapperTest {
 			void shouldSetAktenzeichenExpression() {
 				doReturn(aktenzeichenExpression).when(mapper).toAktenzeichenExpression(OzgCloudVorgangQueryTestFactory.AKTENZEICHEN);
 
-				var queryBuidler = mapper.mapPropertiesToQuery(OzgCloudVorgangQueryTestFactory.create());
+				var queryBuidler = mapper.mapAllToQuery(OzgCloudVorgangQueryTestFactory.create());
 
 				assertThat(queryBuidler.getExpressionsList()).contains(aktenzeichenExpression);
 			}
 
 			@Test
 			void shouldNotCallToAktenzeichenExpression() {
-				mapper.mapPropertiesToQuery(OzgCloudVorgangQueryTestFactory.createBuilder().aktenzeichen(Optional.empty()).build());
+				mapper.mapAllToQuery(OzgCloudVorgangQueryTestFactory.createBuilder().aktenzeichen(Optional.empty()).build());
 
 				verify(mapper, never()).toAktenzeichenExpression(any());
 			}
@@ -187,7 +210,7 @@ class OzgCloudVorgangQueryMapperTest {
 
 			@Test
 			void shouldCallToOrganisationsEinheitIdExpression() {
-				mapper.mapPropertiesToQuery(OzgCloudVorgangQueryTestFactory.create());
+				mapper.mapAllToQuery(OzgCloudVorgangQueryTestFactory.create());
 
 				verify(mapper).toOrganisationsEinheitIdExpression(OzgCloudVorgangQueryTestFactory.ORGANISATIONS_EINHEIT_ID);
 			}
@@ -197,14 +220,14 @@ class OzgCloudVorgangQueryMapperTest {
 				doReturn(organisationsEinheitIdExpression).when(mapper)
 						.toOrganisationsEinheitIdExpression(OzgCloudVorgangQueryTestFactory.ORGANISATIONS_EINHEIT_ID);
 
-				var queryBuidler = mapper.mapPropertiesToQuery(OzgCloudVorgangQueryTestFactory.create());
+				var queryBuidler = mapper.mapAllToQuery(OzgCloudVorgangQueryTestFactory.create());
 
 				assertThat(queryBuidler.getExpressionsList()).contains(organisationsEinheitIdExpression);
 			}
 
 			@Test
 			void shouldNotCallToOrganisationsEinheitIdExpression() {
-				mapper.mapPropertiesToQuery(OzgCloudVorgangQueryTestFactory.createBuilder().organisationsEinheitId(Optional.empty()).build());
+				mapper.mapAllToQuery(OzgCloudVorgangQueryTestFactory.createBuilder().organisationsEinheitId(Optional.empty()).build());
 
 				verify(mapper, never()).toOrganisationsEinheitIdExpression(any());
 			}
@@ -223,7 +246,7 @@ class OzgCloudVorgangQueryMapperTest {
 
 			@Test
 			void shouldCallToFormExpression() {
-				mapper.mapPropertiesToQuery(OzgCloudVorgangQueryTestFactory.create());
+				mapper.mapAllToQuery(OzgCloudVorgangQueryTestFactory.create());
 
 				verify(mapper).toFormExpressions(OzgCloudVorgangQueryTestFactory.FORM);
 			}
@@ -232,17 +255,27 @@ class OzgCloudVorgangQueryMapperTest {
 			void shouldSetFormExpression() {
 				doReturn(formExpressions).when(mapper).toFormExpressions(OzgCloudVorgangQueryTestFactory.FORM);
 
-				var queryBuidler = mapper.mapPropertiesToQuery(OzgCloudVorgangQueryTestFactory.create());
+				var queryBuidler = mapper.mapAllToQuery(OzgCloudVorgangQueryTestFactory.create());
 
 				assertThat(queryBuidler.getExpressionsList()).containsAll(formExpressions);
 			}
 
 			@Test
 			void shouldNotCallToFormExpression() {
-				mapper.mapPropertiesToQuery(OzgCloudVorgangQueryTestFactory.createBuilder().form(Optional.empty()).build());
+				mapper.mapAllToQuery(OzgCloudVorgangQueryTestFactory.createBuilder().form(Optional.empty()).build());
 
 				verify(mapper, never()).toFormExpressions(any());
 			}
+
+			@Test
+			void shouldNotSetEmptyFormExpressions() {
+				doReturn(Collections.emptySet()).when(mapper).toFormExpressions(any());
+				var ozgCloudVorgangQuery = OzgCloudVorgangQuery.builder().form(Optional.of(FormIdentification.builder().build())).build();
+
+				var result = mapper.mapAllToQuery(ozgCloudVorgangQuery);
+
+				assertThat(result.getExpressionsList()).isEmpty();
+			}
 		}
 
 		@Nested
@@ -256,7 +289,7 @@ class OzgCloudVorgangQueryMapperTest {
 
 			@Test
 			void shouldCallToStatusExpression() {
-				mapper.mapPropertiesToQuery(OzgCloudVorgangQueryTestFactory.create());
+				mapper.mapAllToQuery(OzgCloudVorgangQueryTestFactory.create());
 
 				verify(mapper).toStatusExpression(OzgCloudVorgangQueryTestFactory.STATUS);
 			}
@@ -266,14 +299,14 @@ class OzgCloudVorgangQueryMapperTest {
 				doReturn(statusExpression).when(mapper)
 						.toStatusExpression(OzgCloudVorgangQueryTestFactory.STATUS);
 
-				var queryBuidler = mapper.mapPropertiesToQuery(OzgCloudVorgangQueryTestFactory.create());
+				var queryBuidler = mapper.mapAllToQuery(OzgCloudVorgangQueryTestFactory.create());
 
 				assertThat(queryBuidler.getExpressionsList()).contains(statusExpression);
 			}
 
 			@Test
 			void shouldNotCallToStatusExpression() {
-				mapper.mapPropertiesToQuery(OzgCloudVorgangQueryTestFactory.createBuilder().status(Optional.empty()).build());
+				mapper.mapAllToQuery(OzgCloudVorgangQueryTestFactory.createBuilder().status(Optional.empty()).build());
 
 				verify(mapper, never()).toStatusExpression(any());
 			}
@@ -335,47 +368,96 @@ class OzgCloudVorgangQueryMapperTest {
 	@Nested
 	class TestToFormExpressions {
 
-		private final GrpcVorgangQueryExpression formEngineNameExpression = GrpcVorgangQueryExpressionTestFactory.createBuilder()
-				.setPath(OzgCloudVorgangQueryMapper.FORM_ENGINE_NAME_PATH)
-				.setOperator(GrpcQueryOperator.EQUAL)
-				.setOperandStringValue(FormIdentificationTestFactory.FORM_ENGINE_NAME)
-				.build();
+		@Mock
+		private GrpcVorgangQueryExpression formEngineNameExpression;
 
-		private final GrpcVorgangQueryExpression formIdExpression = GrpcVorgangQueryExpressionTestFactory.createBuilder()
-				.setPath(OzgCloudVorgangQueryMapper.FORM_ID_PATH)
-				.setOperator(GrpcQueryOperator.EQUAL)
-				.setOperandStringValue(FormIdentificationTestFactory.FORM_ID)
-				.build();
+		@Mock
+		private GrpcVorgangQueryExpression formIdExpression;
+
+		@Test
+		void shouldCallToFormEngineNameExpression() {
+			toFormExpressions();
+
+			verify(mapper).toFormEngineNameExpression(FormIdentificationTestFactory.FORM_ENGINE_NAME);
+		}
+
+		@Test
+		void shouldSetFormEngineNameExpression() {
+			doReturn(formEngineNameExpression).when(mapper).toFormEngineNameExpression(any());
+
+			var expressions = toFormExpressions();
+
+			assertThat(expressions).contains(formEngineNameExpression);
+		}
 
 		@Test
-		void shouldReturnFormEngineNameExpression() {
-			var expressions = mapper.toFormExpressions(FormIdentificationTestFactory.createBuilder().formId(null).build());
+		void shouldCallToFormIdExpression() {
+			toFormExpressions();
 
-			assertThat(expressions).usingRecursiveFieldByFieldElementComparator().containsExactly(formEngineNameExpression);
+			verify(mapper).toFormIdExpression(FormIdentificationTestFactory.FORM_ID);
 		}
 
 		@Test
 		void shouldReturnFormIdExpression() {
-			var expressions = mapper.toFormExpressions(FormIdentificationTestFactory.createBuilder().formEngineName(null).build());
+			doReturn(formIdExpression).when(mapper).toFormIdExpression(any());
+
+			var expressions = toFormExpressions();
+
+			assertThat(expressions).contains(formIdExpression);
+		}
+
+		private Set<GrpcVorgangQueryExpression> toFormExpressions() {
+			return mapper.toFormExpressions(FormIdentificationTestFactory.create());
+		}
+	}
 
-			assertThat(expressions).usingRecursiveFieldByFieldElementComparator().containsExactly(formIdExpression);
+	@Nested
+	class TestToFormEngineNameExpression {
+
+		@Test
+		void shouldSetPath() {
+			var expression = mapper.toFormEngineNameExpression(FormIdentificationTestFactory.FORM_ENGINE_NAME);
+
+			assertThat(expression.getPath()).isEqualTo(OzgCloudVorgangQueryMapper.FORM_ENGINE_NAME_PATH);
+		}
+
+		@Test
+		void shouldSetOperandStringValue() {
+			var expression = mapper.toFormEngineNameExpression(FormIdentificationTestFactory.FORM_ENGINE_NAME);
+
+			assertThat(expression.getOperandStringValue()).isEqualTo(FormIdentificationTestFactory.FORM_ENGINE_NAME);
+		}
+
+		@Test
+		void shouldSetOperator() {
+			var expression = mapper.toFormEngineNameExpression(FormIdentificationTestFactory.FORM_ENGINE_NAME);
+
+			assertThat(expression.getOperator()).isEqualTo(GrpcQueryOperator.EQUAL);
 		}
+	}
+
+	@Nested
+	class TestToFormIdExpression {
 
 		@Test
-		void shouldReturnBothExpressions() {
-			var expressions = mapper.toFormExpressions(FormIdentificationTestFactory.create());
+		void shouldSetPath() {
+			var expression = mapper.toFormIdExpression(FormIdentificationTestFactory.FORM_ID);
 
-			assertThat(expressions).usingRecursiveFieldByFieldElementComparator().containsExactlyInAnyOrder(formEngineNameExpression,
-					formIdExpression);
+			assertThat(expression.getPath()).isEqualTo(OzgCloudVorgangQueryMapper.FORM_ID_PATH);
 		}
 
 		@Test
-		void shouldReturnUnmodifiableSet() {
-			var newExpression = GrpcVorgangQueryExpressionTestFactory.create();
+		void shouldSetOperandStringValue() {
+			var expression = mapper.toFormIdExpression(FormIdentificationTestFactory.FORM_ID);
+
+			assertThat(expression.getOperandStringValue()).isEqualTo(FormIdentificationTestFactory.FORM_ID);
+		}
 
-			var expressions = mapper.toFormExpressions(FormIdentificationTestFactory.create());
+		@Test
+		void shouldSetOperator() {
+			var expression = mapper.toFormIdExpression(FormIdentificationTestFactory.FORM_ID);
 
-			assertThrows(UnsupportedOperationException.class, () -> expressions.add(newExpression));
+			assertThat(expression.getOperator()).isEqualTo(GrpcQueryOperator.EQUAL);
 		}
 	}