diff --git a/gitiles-servlet/src/main/java/com/google/gitiles/DebugRenderer.java b/gitiles-servlet/src/main/java/com/google/gitiles/DebugRenderer.java
index 5a54cea..5ec22f2 100644
--- a/gitiles-servlet/src/main/java/com/google/gitiles/DebugRenderer.java
+++ b/gitiles-servlet/src/main/java/com/google/gitiles/DebugRenderer.java
@@ -33,10 +33,10 @@
       final String soyTemplatesRoot,
       String siteTitle) {
     super(
-        new FileUrlMapper(soyTemplatesRoot + File.separator),
+        fileUrlMapper(soyTemplatesRoot + File.separator),
         ImmutableMap.<String, String>of(),
         staticPrefix,
-        FluentIterable.from(customTemplatesFilenames).transform(new FileUrlMapper()),
+        FluentIterable.from(customTemplatesFilenames).transform(fileUrlMapper()),
         siteTitle);
   }
 
diff --git a/gitiles-servlet/src/main/java/com/google/gitiles/GitilesFilter.java b/gitiles-servlet/src/main/java/com/google/gitiles/GitilesFilter.java
index 3820521..3e8867d 100644
--- a/gitiles-servlet/src/main/java/com/google/gitiles/GitilesFilter.java
+++ b/gitiles-servlet/src/main/java/com/google/gitiles/GitilesFilter.java
@@ -18,6 +18,7 @@
 import static com.google.common.base.Preconditions.checkNotNull;
 import static com.google.common.base.Preconditions.checkState;
 import static com.google.gitiles.GitilesServlet.STATIC_PREFIX;
+import static com.google.gitiles.Renderer.fileUrlMapper;
 
 import com.google.common.annotations.VisibleForTesting;
 import com.google.common.collect.FluentIterable;
@@ -25,7 +26,6 @@
 import com.google.common.collect.LinkedListMultimap;
 import com.google.common.collect.ListMultimap;
 import com.google.common.collect.Maps;
-import com.google.gitiles.Renderer.FileUrlMapper;
 import com.google.gitiles.blame.BlameCache;
 import com.google.gitiles.blame.BlameCacheImpl;
 import com.google.gitiles.blame.BlameServlet;
@@ -319,7 +319,7 @@
               filterConfig.getServletContext().getContextPath() + STATIC_PREFIX,
               FluentIterable.from(
                       Arrays.asList(config.getStringList("gitiles", null, "customTemplates")))
-                  .transform(new FileUrlMapper()),
+                  .transform(fileUrlMapper()),
               firstNonNull(config.getString("gitiles", null, "siteTitle"), "Gitiles"));
     }
   }
diff --git a/gitiles-servlet/src/main/java/com/google/gitiles/Renderer.java b/gitiles-servlet/src/main/java/com/google/gitiles/Renderer.java
index 7030694..73718fb 100644
--- a/gitiles-servlet/src/main/java/com/google/gitiles/Renderer.java
+++ b/gitiles-servlet/src/main/java/com/google/gitiles/Renderer.java
@@ -73,19 +73,13 @@
           "gitiles.DOC_CSS_URL", "doc.css",
           "gitiles.PRETTIFY_CSS_URL", "prettify/prettify.css");
 
-  protected static class FileUrlMapper implements Function<String, URL> {
-    private final String prefix;
+  protected static Function<String, URL> fileUrlMapper() {
+    return fileUrlMapper("");
+  }
 
-    protected FileUrlMapper() {
-      this("");
-    }
-
-    protected FileUrlMapper(String prefix) {
-      this.prefix = checkNotNull(prefix, "prefix");
-    }
-
-    @Override
-    public URL apply(String filename) {
+  protected static Function<String, URL> fileUrlMapper(String prefix) {
+    checkNotNull(prefix);
+    return filename -> {
       if (filename == null) {
         return null;
       }
@@ -94,7 +88,7 @@
       } catch (MalformedURLException e) {
         throw new IllegalArgumentException(e);
       }
-    }
+    };
   }
 
   protected ImmutableMap<String, URL> templates;
