diff --git a/jgvariant-core/src/main/java/eu/mulk/jgvariant/core/Signature.java b/jgvariant-core/src/main/java/eu/mulk/jgvariant/core/Signature.java
index 4c8cd65..f59b267 100644
--- a/jgvariant-core/src/main/java/eu/mulk/jgvariant/core/Signature.java
+++ b/jgvariant-core/src/main/java/eu/mulk/jgvariant/core/Signature.java
@@ -113,8 +113,9 @@
         List<Decoder<?>> entryTypes = parseDictionaryEntryTypes(signature);
         yield Decoder.ofDictionaryEntry(entryTypes.get(0), entryTypes.get(1));
       }
-      default -> throw new ParseException(
-          String.format("encountered unknown signature byte '%c'", c), signature.position());
+      default ->
+          throw new ParseException(
+              String.format("encountered unknown signature byte '%c'", c), signature.position());
     };
   }
 
diff --git a/jgvariant-ostree/src/main/java/eu/mulk/jgvariant/ostree/DeltaOperationType.java b/jgvariant-ostree/src/main/java/eu/mulk/jgvariant/ostree/DeltaOperationType.java
index b489cf0..2e052a2 100644
--- a/jgvariant-ostree/src/main/java/eu/mulk/jgvariant/ostree/DeltaOperationType.java
+++ b/jgvariant-ostree/src/main/java/eu/mulk/jgvariant/ostree/DeltaOperationType.java
@@ -44,8 +44,8 @@
       case (byte) 'R' -> UNSET_READ_SOURCE;
       case (byte) 'c' -> CLOSE;
       case (byte) 'B' -> BSPATCH;
-      default -> throw new IllegalArgumentException(
-          "invalid DeltaOperation: %d".formatted(byteValue));
+      default ->
+          throw new IllegalArgumentException("invalid DeltaOperation: %d".formatted(byteValue));
     };
   }
 }
diff --git a/jgvariant-ostree/src/main/java/eu/mulk/jgvariant/ostree/DeltaPartPayload.java b/jgvariant-ostree/src/main/java/eu/mulk/jgvariant/ostree/DeltaPartPayload.java
index ccd5630..fa33c69 100644
--- a/jgvariant-ostree/src/main/java/eu/mulk/jgvariant/ostree/DeltaPartPayload.java
+++ b/jgvariant-ostree/src/main/java/eu/mulk/jgvariant/ostree/DeltaPartPayload.java
@@ -58,8 +58,9 @@
           throw new IllegalStateException(e);
         }
       }
-      default -> throw new IllegalArgumentException(
-          "unrecognized compression byte '%d'".formatted(compressionByte));
+      default ->
+          throw new IllegalArgumentException(
+              "unrecognized compression byte '%d'".formatted(compressionByte));
     };
   }
 
diff --git a/jgvariant-tool/src/main/java/eu/mulk/jgvariant/tool/Main.java b/jgvariant-tool/src/main/java/eu/mulk/jgvariant/tool/Main.java
index bca6ad9..fbf5b71 100644
--- a/jgvariant-tool/src/main/java/eu/mulk/jgvariant/tool/Main.java
+++ b/jgvariant-tool/src/main/java/eu/mulk/jgvariant/tool/Main.java
@@ -12,8 +12,8 @@
 /**
  * A command line tool to read and manipulate GVariant-formatted files.
  *
- * <p>Implements a tool called {@code jgvariant} that can be used to
- * manipulate GVariant-formatted files from the command line.
+ * <p>Implements a tool called {@code jgvariant} that can be used to manipulate GVariant-formatted
+ * files from the command line.
  *
  * <p>Also provides ways to manipulate OSTree repositories.
  *
diff --git a/jgvariant-tool/src/main/java/module-info.java b/jgvariant-tool/src/main/java/module-info.java
index 1e9cdf1..e62808e 100644
--- a/jgvariant-tool/src/main/java/module-info.java
+++ b/jgvariant-tool/src/main/java/module-info.java
@@ -5,13 +5,11 @@
 /**
  * The {@code jgvariant} command line tool.
  *
- * <p>The {@link eu.mulk.jgvariant.tool} module contains a tool called
- * {@code jgvariant} that can be used to manipulate GVariant-formatted
- * files from the command line.  Its primary purpose is to enable the
- * scripting of OSTree repository management tasks.
+ * <p>The {@link eu.mulk.jgvariant.tool} module contains a tool called {@code jgvariant} that can be
+ * used to manipulate GVariant-formatted files from the command line. Its primary purpose is to
+ * enable the scripting of OSTree repository management tasks.
  *
- * <p>The {@link eu.mulk.jgvariant.tool.Main} class defines the entry point
- * of the tool.
+ * <p>The {@link eu.mulk.jgvariant.tool.Main} class defines the entry point of the tool.
  *
  * <p>Usage example (dumping the contents of an OSTree summary file):
  *
