diff --git a/java/com/google/gitiles/blame/BlameServlet.java b/java/com/google/gitiles/blame/BlameServlet.java
index 9eedf0c..605ac6f 100644
--- a/java/com/google/gitiles/blame/BlameServlet.java
+++ b/java/com/google/gitiles/blame/BlameServlet.java
@@ -26,12 +26,12 @@
 import com.google.gitiles.CommitSoyData;
 import com.google.gitiles.DateFormatter;
 import com.google.gitiles.DateFormatter.Format;
-import com.google.gitiles.blame.cache.BlameCache;
-import com.google.gitiles.blame.cache.Region;
 import com.google.gitiles.GitilesAccess;
 import com.google.gitiles.GitilesView;
 import com.google.gitiles.Renderer;
 import com.google.gitiles.ViewFilter;
+import com.google.gitiles.blame.cache.BlameCache;
+import com.google.gitiles.blame.cache.Region;
 import com.google.gson.GsonBuilder;
 import com.google.gson.reflect.TypeToken;
 import com.google.template.soy.data.SoyListData;
diff --git a/java/com/google/gitiles/dev/DevServer.java b/java/com/google/gitiles/dev/DevServer.java
index 60c353d..4076733 100644
--- a/java/com/google/gitiles/dev/DevServer.java
+++ b/java/com/google/gitiles/dev/DevServer.java
@@ -130,9 +130,7 @@
         new DebugRenderer(
             STATIC_PREFIX,
             Arrays.asList(cfg.getStringList("gitiles", null, "customTemplates")),
-            sourceRoot
-                .resolve("resources/com/google/gitiles/templates")
-                .toString(),
+            sourceRoot.resolve("resources/com/google/gitiles/templates").toString(),
             firstNonNull(cfg.getString("gitiles", null, "siteTitle"), "Gitiles"));
 
     String docRoot = cfg.getString("gitiles", null, "docroot");
@@ -150,8 +148,7 @@
   }
 
   private Handler staticHandler() throws IOException {
-    Path staticRoot =
-        sourceRoot.resolve("resources/com/google/gitiles/static");
+    Path staticRoot = sourceRoot.resolve("resources/com/google/gitiles/static");
     ResourceHandler rh = new ResourceHandler();
     try {
       rh.setBaseResource(new PathResource(staticRoot.toUri().toURL()));
diff --git a/java/com/google/gitiles/doc/MarkdownToHtml.java b/java/com/google/gitiles/doc/MarkdownToHtml.java
index ec10d47..49a90f0 100644
--- a/java/com/google/gitiles/doc/MarkdownToHtml.java
+++ b/java/com/google/gitiles/doc/MarkdownToHtml.java
@@ -394,7 +394,9 @@
 
   @VisibleForTesting
   String href(String target) {
-    if (target.startsWith("#") || HtmlBuilder.isValidHttpUri(target) || HtmlBuilder.isValidMailtoUri(target)) {
+    if (target.startsWith("#")
+        || HtmlBuilder.isValidHttpUri(target)
+        || HtmlBuilder.isValidMailtoUri(target)) {
       return target;
     } else if (target.startsWith("git:")) {
       if (HtmlBuilder.isValidGitUri(target)) {
