diff --git a/src/main/java/com/googlesource/gerrit/plugins/metricsreporters/CapabilityChecker.java b/src/main/java/com/googlesource/gerrit/plugins/metricsreporters/CapabilityChecker.java
index 32ca8f6..ccb9d92 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/metricsreporters/CapabilityChecker.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/metricsreporters/CapabilityChecker.java
@@ -24,15 +24,13 @@
   private final String capabilityName;
 
   @Inject
-  CapabilityChecker(Provider<CurrentUser> userProvider,
-      @PluginName String pluginName) {
+  CapabilityChecker(Provider<CurrentUser> userProvider, @PluginName String pluginName) {
     this.userProvider = userProvider;
-    this.capabilityName = String.format("%s-%s", pluginName,
-        ViewMetricsCapability.ID);
+    this.capabilityName = String.format("%s-%s", pluginName, ViewMetricsCapability.ID);
   }
 
   public boolean canViewMetrics() {
     CapabilityControl ctl = userProvider.get().getCapabilities();
     return ctl.canAdministrateServer() || ctl.canPerform(capabilityName);
   }
-}
\ No newline at end of file
+}
diff --git a/src/main/java/com/googlesource/gerrit/plugins/metricsreporters/GerritPrometheusExporter.java b/src/main/java/com/googlesource/gerrit/plugins/metricsreporters/GerritPrometheusExporter.java
index 894a674..8cd6c56 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/metricsreporters/GerritPrometheusExporter.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/metricsreporters/GerritPrometheusExporter.java
@@ -31,8 +31,7 @@
   CapabilityChecker capabilityChecker;
 
   @Inject
-  public GerritPrometheusExporter(MetricRegistry registry,
-      CapabilityChecker capabilityChecker) {
+  public GerritPrometheusExporter(MetricRegistry registry, CapabilityChecker capabilityChecker) {
     this.capabilityChecker = capabilityChecker;
 
     // Hook the Dropwizard registry into the Prometheus registry
@@ -47,8 +46,7 @@
       super.service(req, res);
     } else {
       HttpServletResponse httpResponse = (HttpServletResponse) res;
-      httpResponse.sendError(HttpServletResponse.SC_FORBIDDEN,
-          "Forbidden access");
-	  }
+      httpResponse.sendError(HttpServletResponse.SC_FORBIDDEN, "Forbidden access");
+    }
   }
 };
diff --git a/src/main/java/com/googlesource/gerrit/plugins/metricsreporters/GerritPrometheusHttpModule.java b/src/main/java/com/googlesource/gerrit/plugins/metricsreporters/GerritPrometheusHttpModule.java
index 1cd11db..5764c38 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/metricsreporters/GerritPrometheusHttpModule.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/metricsreporters/GerritPrometheusHttpModule.java
@@ -20,4 +20,4 @@
   protected void configureServlets() {
     serve("/metrics").with(GerritPrometheusExporter.class);
   }
-}
\ No newline at end of file
+}
diff --git a/src/main/java/com/googlesource/gerrit/plugins/metricsreporters/GerritPrometheusModule.java b/src/main/java/com/googlesource/gerrit/plugins/metricsreporters/GerritPrometheusModule.java
index c49d691..36c8663 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/metricsreporters/GerritPrometheusModule.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/metricsreporters/GerritPrometheusModule.java
@@ -21,7 +21,7 @@
   @Override
   protected void configure() {
     bind(CapabilityDefinition.class)
-      .annotatedWith(Exports.named(ViewMetricsCapability.ID))
-      .to(ViewMetricsCapability.class);
+        .annotatedWith(Exports.named(ViewMetricsCapability.ID))
+        .to(ViewMetricsCapability.class);
   }
-}
\ No newline at end of file
+}
diff --git a/src/main/java/com/googlesource/gerrit/plugins/metricsreporters/ViewMetricsCapability.java b/src/main/java/com/googlesource/gerrit/plugins/metricsreporters/ViewMetricsCapability.java
index e3f7412..c3d22e0 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/metricsreporters/ViewMetricsCapability.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/metricsreporters/ViewMetricsCapability.java
@@ -22,4 +22,4 @@
   public String getDescription() {
     return "View Metrics";
   }
-}
\ No newline at end of file
+}
