diff --git a/src/main/java/eu/simstadt/geo/RegionChooserUtils.java b/src/main/java/eu/simstadt/geo/RegionChooserUtils.java
index d5662a996eeb79ae5be1735fd61a5dadec50b369..8f8482711a6229a61a10b891fc85ab37fd6b13d0 100644
--- a/src/main/java/eu/simstadt/geo/RegionChooserUtils.java
+++ b/src/main/java/eu/simstadt/geo/RegionChooserUtils.java
@@ -21,6 +21,7 @@
 	private static final CRSFactory CRS_FACTORY = new CRSFactory();
 	public static final CoordinateReferenceSystem WGS84 = CRS_FACTORY.createFromName("EPSG:4326");
 	private static final Pattern srsNamePattern = Pattern.compile("(?i)(?<=srsName=[\"'])[^\"']+(?=[\"'])");
+	private static final int CITYGML_HEADER_LENGTH = 50;
 
 	private RegionChooserUtils() {
 		// only static use
@@ -41,7 +42,7 @@ private RegionChooserUtils() {
 	 * @param srsName
 	 * @return CoordinateReferenceSystem
 	 */
-	public static CoordinateReferenceSystem crsFromSrsName(String srsName) {
+	private static CoordinateReferenceSystem crsFromSrsName(String srsName) {
 		// EPSG:31467
 		Pattern pEPSG = Pattern.compile("^(EPSG:\\d+)$");
 		Matcher mEPSG = pEPSG.matcher(srsName);
@@ -116,13 +117,15 @@ public static Polygon changePolygonCRS(Polygon polygonInOriginalCRS, CoordinateR
 	 * @throws IOException
 	 */
 	public static CoordinateReferenceSystem crsFromCityGMLHeader(Path citygmlPath) throws IOException {
-		Optional<String> line = Files.lines(citygmlPath).limit(50).filter(srsNamePattern.asPredicate()).findFirst();
-		if (line.isPresent()) {
-			Matcher matcher = srsNamePattern.matcher(line.get());
-			matcher.find();
-			return crsFromSrsName(matcher.group());
-		} else {
-			throw new IllegalArgumentException("No srsName found in the header of " + citygmlPath);
+		try (Stream<String> lines = Files.lines(citygmlPath).limit(CITYGML_HEADER_LENGTH)) {
+			Optional<String> line = lines.filter(srsNamePattern.asPredicate()).findFirst();
+			if (line.isPresent()) {
+				Matcher matcher = srsNamePattern.matcher(line.get());
+				matcher.find();
+				return crsFromSrsName(matcher.group());
+			} else {
+				throw new IllegalArgumentException("No srsName found in the header of " + citygmlPath);
+			}
 		}
 	}