diff --git a/alfa-xdomea/src/main/java/de/ozgcloud/alfa/export/BehoerdenschluesselProperties.java b/alfa-xdomea/src/main/java/de/ozgcloud/alfa/export/BehoerdenschluesselProperties.java
index e2892ccc464bad65d6cde634a3c11be9133c1e0a..ac1fa1350809c5689566affddfd3f67db368b1b3 100644
--- a/alfa-xdomea/src/main/java/de/ozgcloud/alfa/export/BehoerdenschluesselProperties.java
+++ b/alfa-xdomea/src/main/java/de/ozgcloud/alfa/export/BehoerdenschluesselProperties.java
@@ -1,5 +1,6 @@
 package de.ozgcloud.alfa.export;
 
+import java.util.List;
 import java.util.Optional;
 
 import org.apache.commons.lang3.StringUtils;
@@ -37,14 +38,23 @@ public class BehoerdenschluesselProperties {
 	}
 
 	private Optional<Codeliste> getCodeliste(String behoerdenschluessel) {
-		var matchingCodelisten = xdomeaProperties.getCodeliste().stream()
-				.filter(codeliste -> codeliste.getPattern().matcher(behoerdenschluessel).matches()).toList();
+		var matchingCodelisten = getCodelistenMatchingBehoerdenschluessel(behoerdenschluessel);
 		if (matchingCodelisten.size() > 1) {
 			throw new AmbiguousCodelistePatternException(behoerdenschluessel);
 		}
 		return matchingCodelisten.size() == 1 ? Optional.of(matchingCodelisten.getFirst()) : Optional.empty();
 	}
 
+	private List<Codeliste> getCodelistenMatchingBehoerdenschluessel(String behoerdenschluessel) {
+		return xdomeaProperties.getCodeliste().stream()
+				.filter(codeliste -> codelisteMatchesBehoerdenschluessel(codeliste, behoerdenschluessel))
+				.toList();
+	}
+
+	private boolean codelisteMatchesBehoerdenschluessel(Codeliste codeliste, String behoerdenschluessel) {
+		return codeliste.getPattern().matcher(behoerdenschluessel).matches();
+	}
+
 	private static Optional<String> ofNullableOrBlank(String value) {
 		return Optional.ofNullable(value).filter(StringUtils::isNotBlank);
 	}