Merge "Fix large comments on Chrome for Android"
diff --git a/.settings/org.eclipse.jdt.core.prefs b/.settings/org.eclipse.jdt.core.prefs
index 2a585e4..261ce5a 100644
--- a/.settings/org.eclipse.jdt.core.prefs
+++ b/.settings/org.eclipse.jdt.core.prefs
@@ -14,11 +14,11 @@
 org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
 org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
 org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
-org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore
+org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
 org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=ignore
 org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
 org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
+org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
 org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
 org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
 org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
@@ -68,9 +68,9 @@
 org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
 org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
 org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=ignore
+org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
 org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
 org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
 org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
 org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
@@ -78,7 +78,7 @@
 org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
 org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
 org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameter=warning
 org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
 org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
 org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
diff --git a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/AbstractDaemonTest.java b/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/AbstractDaemonTest.java
index fcc8680..3af2914 100644
--- a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/AbstractDaemonTest.java
+++ b/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/AbstractDaemonTest.java
@@ -40,6 +40,7 @@
 import com.google.gerrit.server.account.GroupCache;
 import com.google.gerrit.server.change.ChangeJson;
 import com.google.gerrit.server.config.AllProjectsName;
+import com.google.gerrit.server.git.GitRepositoryManager;
 import com.google.gerrit.server.git.MetaDataUpdate;
 import com.google.gerrit.server.git.ProjectConfig;
 import com.google.gerrit.server.project.ProjectCache;
@@ -104,6 +105,9 @@
   @Inject
   protected GroupCache groupCache;
 
+  @Inject
+  protected GitRepositoryManager repoManager;
+
   protected Git git;
   protected GerritServer server;
   protected TestAccount admin;
diff --git a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/AcceptanceTestRequestScope.java b/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/AcceptanceTestRequestScope.java
index 5f5da47..2a578c2 100644
--- a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/AcceptanceTestRequestScope.java
+++ b/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/AcceptanceTestRequestScope.java
@@ -164,8 +164,10 @@
 
   /** Returns exactly one instance per command executed. */
   static final Scope REQUEST = new Scope() {
+    @Override
     public <T> Provider<T> scope(final Key<T> key, final Provider<T> creator) {
       return new Provider<T>() {
+        @Override
         public T get() {
           return requireContext().get(key, creator);
         }
diff --git a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/GerritServer.java b/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/GerritServer.java
index 1ca8795..16bb2f6 100644
--- a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/GerritServer.java
+++ b/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/GerritServer.java
@@ -27,18 +27,15 @@
 import com.google.inject.Key;
 import com.google.inject.Module;
 
-import org.eclipse.jgit.errors.ConfigInvalidException;
 import org.eclipse.jgit.lib.Config;
 import org.eclipse.jgit.lib.RepositoryCache;
 import org.eclipse.jgit.util.FS;
 
 import java.io.File;
-import java.io.IOException;
 import java.lang.reflect.Field;
 import java.net.InetAddress;
 import java.net.InetSocketAddress;
 import java.net.URI;
-import java.net.UnknownHostException;
 import java.util.concurrent.BrokenBarrierException;
 import java.util.concurrent.Callable;
 import java.util.concurrent.CyclicBarrier;
@@ -53,6 +50,7 @@
       throws Exception {
     final CyclicBarrier serverStarted = new CyclicBarrier(2);
     final Daemon daemon = new Daemon(new Runnable() {
+      @Override
       public void run() {
         try {
           serverStarted.await();
@@ -84,6 +82,7 @@
       site = initSite(cfg);
       daemonService = Executors.newSingleThreadExecutor();
       daemonService.submit(new Callable<Void>() {
+        @Override
         public Void call() throws Exception {
           int rc = daemon.main(new String[] {"-d", site.getPath(), "--headless" });
           if (rc != 0) {
@@ -122,8 +121,7 @@
     return tmp;
   }
 
-  private static void mergeTestConfig(Config cfg)
-      throws IOException {
+  private static void mergeTestConfig(Config cfg) {
     String forceEphemeralPort = String.format("%s:0",
         getLocalHost().getHostName());
     String url = "http://" + forceEphemeralPort + "/";
@@ -157,7 +155,7 @@
     return (T) f.get(obj);
   }
 
-  private static InetAddress getLocalHost() throws UnknownHostException {
+  private static InetAddress getLocalHost() {
     return InetAddress.getLoopbackAddress();
   }
 
@@ -169,7 +167,7 @@
   private InetSocketAddress httpAddress;
 
   private GerritServer(Injector testInjector, Daemon daemon,
-      ExecutorService daemonService) throws IOException, ConfigInvalidException {
+      ExecutorService daemonService) {
     this.testInjector = testInjector;
     this.daemon = daemon;
     this.daemonService = daemonService;
diff --git a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/GitUtil.java b/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/GitUtil.java
index cc75107..c0ba921 100644
--- a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/GitUtil.java
+++ b/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/GitUtil.java
@@ -141,7 +141,7 @@
   }
 
   public static void rm(Git gApi, String path)
-      throws GitAPIException, IOException {
+      throws GitAPIException {
     gApi.rm()
         .addFilepattern(path)
         .call();
diff --git a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/HttpResponse.java b/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/HttpResponse.java
index c58a5a2..872c912 100644
--- a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/HttpResponse.java
+++ b/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/HttpResponse.java
@@ -43,7 +43,7 @@
   public void consume() throws IllegalStateException, IOException {
     Reader reader = getReader();
     if (reader != null) {
-      while (reader.read() != -1);
+      while (reader.read() != -1) {}
     }
   }
 
diff --git a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/PushOneCommit.java b/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/PushOneCommit.java
index 3c5d831..545053f 100644
--- a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/PushOneCommit.java
+++ b/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/PushOneCommit.java
@@ -194,14 +194,14 @@
     private final String ref;
     private final PushResult result;
     private final Commit commit;
-    private final String subject;
+    private final String resSubj;
 
-    private Result(String ref, PushResult result, Commit commit,
+    private Result(String ref, PushResult resSubj, Commit commit,
         String subject) {
       this.ref = ref;
-      this.result = result;
+      this.result = resSubj;
       this.commit = commit;
-      this.subject = subject;
+      this.resSubj = subject;
     }
 
     public PatchSet.Id getPatchSetId() throws OrmException {
@@ -226,7 +226,7 @@
         throws OrmException {
       Change c =
           Iterables.getOnlyElement(db.changes().byKey(new Change.Key(commit.getChangeId())).toList());
-      assertEquals(subject, c.getSubject());
+      assertEquals(resSubj, c.getSubject());
       assertEquals(expectedStatus, c.getStatus());
       assertEquals(expectedTopic, Strings.emptyToNull(c.getTopic()));
       assertReviewers(c, expectedReviewers);
diff --git a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/RestSession.java b/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/RestSession.java
index bf4918c..584186c 100644
--- a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/RestSession.java
+++ b/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/RestSession.java
@@ -92,11 +92,11 @@
   }
 
 
-  public static RawInput newRawInput(String content) throws IOException {
+  public static RawInput newRawInput(String content) {
     return newRawInput(content.getBytes(StandardCharsets.UTF_8));
   }
 
-  public static RawInput newRawInput(final byte[] bytes) throws IOException {
+  public static RawInput newRawInput(final byte[] bytes) {
     Preconditions.checkNotNull(bytes);
     Preconditions.checkArgument(bytes.length > 0);
     return new RawInput() {
diff --git a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/edit/ChangeEditIT.java b/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/edit/ChangeEditIT.java
index a24294c..efdc919 100644
--- a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/edit/ChangeEditIT.java
+++ b/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/edit/ChangeEditIT.java
@@ -79,9 +79,6 @@
   private SchemaFactory<ReviewDb> reviewDbProvider;
 
   @Inject
-  private PushOneCommit.Factory pushFactory;
-
-  @Inject
   ChangeEditUtil editUtil;
 
   @Inject
@@ -90,7 +87,6 @@
   @Inject
   private FileContentUtil fileUtil;
 
-  private ReviewDb db;
   private Change change;
   private String changeId;
   private Change change2;
diff --git a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/git/AbstractPushForReview.java b/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/git/AbstractPushForReview.java
index 5dbf366..238b2e3 100644
--- a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/git/AbstractPushForReview.java
+++ b/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/git/AbstractPushForReview.java
@@ -195,14 +195,14 @@
 
   @Test
   public void testPushForMasterWithApprovals_ValueOutOfRange() throws GitAPIException,
-      IOException, RestApiException {
+      IOException {
     PushOneCommit.Result r = pushTo("refs/for/master/%l=Code-Review-3");
     r.assertErrorStatus("label \"Code-Review\": -3 is not a valid value");
   }
 
   @Test
   public void testPushForNonExistingBranch() throws GitAPIException,
-      OrmException, IOException {
+      IOException {
     String branchName = "non-existing";
     PushOneCommit.Result r = pushTo("refs/for/" + branchName);
     r.assertErrorStatus("branch " + branchName + " not found");
diff --git a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/git/SubmitOnPushIT.java b/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/git/SubmitOnPushIT.java
index 7bb155f..00e91bc 100644
--- a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/git/SubmitOnPushIT.java
+++ b/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/git/SubmitOnPushIT.java
@@ -30,7 +30,6 @@
 import com.google.gerrit.server.ApprovalsUtil;
 import com.google.gerrit.server.GerritPersonIdent;
 import com.google.gerrit.server.git.CommitMergeStatus;
-import com.google.gerrit.server.git.GitRepositoryManager;
 import com.google.gerrit.server.notedb.ChangeNotes;
 import com.google.gwtorm.server.OrmException;
 import com.google.inject.Inject;
@@ -52,9 +51,6 @@
 @NoHttpd
 public class SubmitOnPushIT extends AbstractDaemonTest {
   @Inject
-  private GitRepositoryManager repoManager;
-
-  @Inject
   private ApprovalsUtil approvalsUtil;
 
   @Inject
@@ -63,9 +59,6 @@
   @Inject
   private @GerritPersonIdent PersonIdent serverIdent;
 
-  @Inject
-  private PushOneCommit.Factory pushFactory;
-
   @Test
   public void submitOnPush() throws Exception {
     grant(Permission.SUBMIT, project, "refs/for/refs/heads/master");
diff --git a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/git/VisibleRefFilterIT.java b/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/git/VisibleRefFilterIT.java
index 77a7a91..40a2d16 100644
--- a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/git/VisibleRefFilterIT.java
+++ b/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/git/VisibleRefFilterIT.java
@@ -32,9 +32,7 @@
 import com.google.gerrit.reviewdb.client.Change;
 import com.google.gerrit.reviewdb.client.PatchSet;
 import com.google.gerrit.reviewdb.client.RefNames;
-import com.google.gerrit.server.account.GroupCache;
 import com.google.gerrit.server.edit.ChangeEditModifier;
-import com.google.gerrit.server.git.GitRepositoryManager;
 import com.google.gerrit.server.git.ProjectConfig;
 import com.google.gerrit.server.notedb.NotesMigration;
 import com.google.gerrit.server.project.Util;
@@ -66,12 +64,6 @@
   private NotesMigration notesMigration;
 
   @Inject
-  private GitRepositoryManager repoManager;
-
-  @Inject
-  private GroupCache groupCache;
-
-  @Inject
   private ChangeEditModifier editModifier;
 
   private AccountGroup.UUID admins;
diff --git a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/rest/change/AbstractSubmit.java b/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/rest/change/AbstractSubmit.java
index 1ae21e8..6d1ab25 100644
--- a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/rest/change/AbstractSubmit.java
+++ b/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/rest/change/AbstractSubmit.java
@@ -39,7 +39,6 @@
 import com.google.gerrit.server.ApprovalsUtil;
 import com.google.gerrit.server.change.ChangeJson.ChangeInfo;
 import com.google.gerrit.server.change.ChangeJson.LabelInfo;
-import com.google.gerrit.server.git.GitRepositoryManager;
 import com.google.gerrit.server.notedb.ChangeNotes;
 import com.google.gerrit.server.project.PutConfig;
 import com.google.gson.reflect.TypeToken;
@@ -67,10 +66,6 @@
 import java.util.List;
 
 public abstract class AbstractSubmit extends AbstractDaemonTest {
-
-  @Inject
-  private GitRepositoryManager repoManager;
-
   @Inject
   private ChangeNotes.Factory notesFactory;
 
@@ -212,7 +207,7 @@
   }
 
   protected void assertSubmitter(String changeId, int psId)
-      throws OrmException, IOException {
+      throws OrmException {
     ChangeNotes cn = notesFactory.create(
         Iterables.getOnlyElement(db.changes().byKey(new Change.Key(changeId))));
     PatchSetApproval submitter = approvalsUtil.getSubmitter(
diff --git a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/rest/group/AddRemoveGroupMembersIT.java b/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/rest/group/AddRemoveGroupMembersIT.java
index 6c1596f..7c8a3a3 100644
--- a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/rest/group/AddRemoveGroupMembersIT.java
+++ b/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/rest/group/AddRemoveGroupMembersIT.java
@@ -31,9 +31,7 @@
 import com.google.gerrit.reviewdb.client.AccountGroup;
 import com.google.gerrit.reviewdb.client.AccountGroupById;
 import com.google.gerrit.reviewdb.client.AccountGroupMember;
-import com.google.gerrit.reviewdb.server.ReviewDb;
 import com.google.gerrit.server.account.AccountInfo;
-import com.google.gerrit.server.account.GroupCache;
 import com.google.gerrit.server.group.AddIncludedGroups;
 import com.google.gerrit.server.group.AddMembers;
 import com.google.gerrit.server.group.CreateGroup;
@@ -41,12 +39,8 @@
 import com.google.gson.reflect.TypeToken;
 import com.google.gwtorm.server.OrmException;
 import com.google.gwtorm.server.ResultSet;
-import com.google.gwtorm.server.SchemaFactory;
-import com.google.inject.Inject;
 
 import org.apache.http.HttpStatus;
-import org.junit.After;
-import org.junit.Before;
 import org.junit.Test;
 
 import java.io.IOException;
@@ -56,25 +50,6 @@
 import java.util.Set;
 
 public class AddRemoveGroupMembersIT extends AbstractDaemonTest {
-
-  @Inject
-  private SchemaFactory<ReviewDb> reviewDbProvider;
-
-  @Inject
-  private GroupCache groupCache;
-
-  private ReviewDb db;
-
-  @Before
-  public void setUp() throws Exception {
-    db = reviewDbProvider.open();
-  }
-
-  @After
-  public void tearDown() {
-    db.close();
-  }
-
   @Test
   public void addToNonExistingGroup_NotFound() throws Exception {
     assertEquals(HttpStatus.SC_NOT_FOUND,
diff --git a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/rest/group/CreateGroupIT.java b/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/rest/group/CreateGroupIT.java
index ed67491..5811126 100644
--- a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/rest/group/CreateGroupIT.java
+++ b/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/rest/group/CreateGroupIT.java
@@ -22,19 +22,13 @@
 import com.google.gerrit.acceptance.RestResponse;
 import com.google.gerrit.acceptance.RestSession;
 import com.google.gerrit.reviewdb.client.AccountGroup;
-import com.google.gerrit.server.account.GroupCache;
 import com.google.gerrit.server.group.CreateGroup;
 import com.google.gerrit.server.group.GroupJson.GroupInfo;
-import com.google.inject.Inject;
 
 import org.apache.http.HttpStatus;
 import org.junit.Test;
 
 public class CreateGroupIT extends AbstractDaemonTest {
-
-  @Inject
-  private GroupCache groupCache;
-
   @Test
   public void testCreateGroup() throws Exception {
     final String newGroupName = "newGroup";
diff --git a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/rest/group/GetGroupIT.java b/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/rest/group/GetGroupIT.java
index 129a107..8dfb5ff 100644
--- a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/rest/group/GetGroupIT.java
+++ b/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/rest/group/GetGroupIT.java
@@ -19,19 +19,13 @@
 import com.google.gerrit.acceptance.AbstractDaemonTest;
 import com.google.gerrit.acceptance.RestResponse;
 import com.google.gerrit.reviewdb.client.AccountGroup;
-import com.google.gerrit.server.account.GroupCache;
 import com.google.gerrit.server.group.GroupJson.GroupInfo;
-import com.google.inject.Inject;
 
 import org.junit.Test;
 
 import java.io.IOException;
 
 public class GetGroupIT extends AbstractDaemonTest {
-
-  @Inject
-  private GroupCache groupCache;
-
   @Test
   public void testGetGroup() throws Exception {
     AccountGroup adminGroup = groupCache.get(new AccountGroup.NameKey("Administrators"));
diff --git a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/rest/group/GroupPropertiesIT.java b/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/rest/group/GroupPropertiesIT.java
index 976c7b3..e1db8e9 100644
--- a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/rest/group/GroupPropertiesIT.java
+++ b/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/rest/group/GroupPropertiesIT.java
@@ -24,7 +24,6 @@
 import com.google.gerrit.acceptance.RestResponse;
 import com.google.gerrit.extensions.restapi.Url;
 import com.google.gerrit.reviewdb.client.AccountGroup;
-import com.google.gerrit.server.account.GroupCache;
 import com.google.gerrit.server.group.GroupJson.GroupInfo;
 import com.google.gerrit.server.group.GroupOptionsInfo;
 import com.google.gerrit.server.group.PutDescription;
@@ -32,16 +31,11 @@
 import com.google.gerrit.server.group.PutOptions;
 import com.google.gerrit.server.group.PutOwner;
 import com.google.gerrit.server.group.SystemGroupBackend;
-import com.google.inject.Inject;
 
 import org.apache.http.HttpStatus;
 import org.junit.Test;
 
 public class GroupPropertiesIT extends AbstractDaemonTest {
-
-  @Inject
-  private GroupCache groupCache;
-
   @Test
   public void testGroupName() throws Exception {
     AccountGroup.NameKey adminGroupName = new AccountGroup.NameKey("Administrators");
diff --git a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/rest/group/ListGroupsIT.java b/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/rest/group/ListGroupsIT.java
index 6104117..7a09e5a 100644
--- a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/rest/group/ListGroupsIT.java
+++ b/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/rest/group/ListGroupsIT.java
@@ -26,11 +26,9 @@
 import com.google.gerrit.acceptance.RestResponse;
 import com.google.gerrit.common.Nullable;
 import com.google.gerrit.reviewdb.client.AccountGroup;
-import com.google.gerrit.server.account.GroupCache;
 import com.google.gerrit.server.group.CreateGroup;
 import com.google.gerrit.server.group.GroupJson.GroupInfo;
 import com.google.gson.reflect.TypeToken;
-import com.google.inject.Inject;
 
 import org.apache.http.HttpStatus;
 import org.junit.Test;
@@ -39,10 +37,6 @@
 import java.util.Set;
 
 public class ListGroupsIT extends AbstractDaemonTest {
-
-  @Inject
-  private GroupCache groupCache;
-
   @Test
   public void testListAllGroups() throws Exception {
     Iterable<String> expectedGroups = Iterables.transform(groupCache.all(),
diff --git a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/rest/project/CreateProjectIT.java b/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/rest/project/CreateProjectIT.java
index 8ef64a2..4b74d92 100644
--- a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/rest/project/CreateProjectIT.java
+++ b/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/rest/project/CreateProjectIT.java
@@ -31,11 +31,8 @@
 import com.google.gerrit.reviewdb.client.AccountGroup;
 import com.google.gerrit.reviewdb.client.Project;
 import com.google.gerrit.reviewdb.client.RefNames;
-import com.google.gerrit.server.account.GroupCache;
-import com.google.gerrit.server.git.GitRepositoryManager;
 import com.google.gerrit.server.group.SystemGroupBackend;
 import com.google.gerrit.server.project.ProjectState;
-import com.google.inject.Inject;
 
 import org.apache.http.HttpStatus;
 import org.eclipse.jgit.errors.RepositoryNotFoundException;
@@ -51,13 +48,6 @@
 import java.util.Set;
 
 public class CreateProjectIT extends AbstractDaemonTest {
-
-  @Inject
-  private GroupCache groupCache;
-
-  @Inject
-  private GitRepositoryManager git;
-
   @Test
   public void testCreateProjectApi() throws Exception {
     final String newProjectName = "newProject";
@@ -214,7 +204,8 @@
 
   private void assertHead(String projectName, String expectedRef)
       throws RepositoryNotFoundException, IOException {
-    Repository repo = git.openRepository(new Project.NameKey(projectName));
+    Repository repo =
+        repoManager.openRepository(new Project.NameKey(projectName));
     try {
       assertEquals(expectedRef, repo.getRef(Constants.HEAD).getTarget()
           .getName());
@@ -225,7 +216,8 @@
 
   private void assertEmptyCommit(String projectName, String... refs)
       throws RepositoryNotFoundException, IOException {
-    Repository repo = git.openRepository(new Project.NameKey(projectName));
+    Repository repo =
+        repoManager.openRepository(new Project.NameKey(projectName));
     RevWalk rw = new RevWalk(repo);
     TreeWalk tw = new TreeWalk(repo);
     try {
diff --git a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/rest/project/GetCommitIT.java b/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/rest/project/GetCommitIT.java
index 739810e..30610d2 100644
--- a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/rest/project/GetCommitIT.java
+++ b/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/rest/project/GetCommitIT.java
@@ -25,9 +25,7 @@
 import com.google.gerrit.common.data.AccessSection;
 import com.google.gerrit.common.data.Permission;
 import com.google.gerrit.extensions.common.CommitInfo;
-import com.google.gerrit.server.git.GitRepositoryManager;
 import com.google.gerrit.server.git.ProjectConfig;
-import com.google.inject.Inject;
 
 import org.apache.http.HttpStatus;
 import org.eclipse.jgit.junit.TestRepository;
@@ -39,9 +37,6 @@
 import org.junit.Test;
 
 public class GetCommitIT extends AbstractDaemonTest {
-  @Inject
-  private GitRepositoryManager repoManager;
-
   private TestRepository<Repository> repo;
 
   @Before
diff --git a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/rest/project/ProjectLevelConfigIT.java b/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/rest/project/ProjectLevelConfigIT.java
index af0376a..e4378b4 100644
--- a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/rest/project/ProjectLevelConfigIT.java
+++ b/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/rest/project/ProjectLevelConfigIT.java
@@ -22,9 +22,7 @@
 import com.google.gerrit.acceptance.AbstractDaemonTest;
 import com.google.gerrit.acceptance.PushOneCommit;
 import com.google.gerrit.reviewdb.client.RefNames;
-import com.google.gerrit.server.config.AllProjectsNameProvider;
 import com.google.gerrit.server.project.ProjectState;
-import com.google.inject.Inject;
 
 import org.eclipse.jgit.api.Git;
 import org.eclipse.jgit.lib.Config;
@@ -32,13 +30,6 @@
 import org.junit.Test;
 
 public class ProjectLevelConfigIT extends AbstractDaemonTest {
-
-  @Inject
-  private AllProjectsNameProvider allProjects;
-
-  @Inject
-  private PushOneCommit.Factory pushFactory;
-
   @Before
   public void setUp() throws Exception {
     fetch(git, RefNames.REFS_CONFIG + ":refs/heads/config");
@@ -77,7 +68,7 @@
     parentCfg.setString("s2", "ss", "k4", "parentValue4");
 
     Git parentGit =
-        cloneProject(sshSession.getUrl() + "/" + allProjects.get().get(), false);
+        cloneProject(sshSession.getUrl() + "/" + allProjects.get(), false);
     fetch(parentGit, RefNames.REFS_CONFIG + ":refs/heads/config");
     checkout(parentGit, "refs/heads/config");
     PushOneCommit push =
diff --git a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/rest/project/SetParentIT.java b/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/rest/project/SetParentIT.java
index 6e7681e..eda79a1 100644
--- a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/rest/project/SetParentIT.java
+++ b/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/rest/project/SetParentIT.java
@@ -20,18 +20,12 @@
 import com.google.gerrit.acceptance.AbstractDaemonTest;
 import com.google.gerrit.acceptance.RestResponse;
 import com.google.gerrit.reviewdb.client.Project;
-import com.google.gerrit.server.config.AllProjectsNameProvider;
 import com.google.gerrit.server.project.SetParent;
-import com.google.inject.Inject;
 
 import org.apache.http.HttpStatus;
 import org.junit.Test;
 
 public class SetParentIT extends AbstractDaemonTest {
-
-  @Inject
-  private AllProjectsNameProvider allProjects;
-
   @Test
   public void setParent_Forbidden() throws Exception {
     String parent = "parent";
diff --git a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/server/change/PatchListCacheIT.java b/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/server/change/PatchListCacheIT.java
index 9f4b1ce..52aa84e 100644
--- a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/server/change/PatchListCacheIT.java
+++ b/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/server/change/PatchListCacheIT.java
@@ -33,7 +33,6 @@
 import com.google.gerrit.server.patch.PatchListEntry;
 import com.google.gerrit.server.patch.PatchListKey;
 import com.google.gerrit.server.patch.PatchListNotAvailableException;
-import com.google.gwtorm.server.OrmException;
 import com.google.inject.Inject;
 
 import org.eclipse.jgit.api.ResetCommand.ResetType;
@@ -205,16 +204,16 @@
   }
 
   private List<PatchListEntry> getCurrentPatches(String changeId)
-      throws PatchListNotAvailableException, OrmException, RestApiException {
+      throws PatchListNotAvailableException, RestApiException {
     return patchListCache.get(getKey(null, getCurrentRevisionId(changeId))).getPatches();
   }
 
   private List<PatchListEntry> getPatches(ObjectId revisionIdA, ObjectId revisionIdB)
-      throws PatchListNotAvailableException, OrmException {
+      throws PatchListNotAvailableException {
     return patchListCache.get(getKey(revisionIdA, revisionIdB)).getPatches();
   }
 
-  private PatchListKey getKey(ObjectId revisionIdA, ObjectId revisionIdB) throws OrmException {
+  private PatchListKey getKey(ObjectId revisionIdA, ObjectId revisionIdB) {
     return new PatchListKey(project, revisionIdA, revisionIdB, Whitespace.IGNORE_NONE);
   }
 
diff --git a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/server/project/LabelTypeIT.java b/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/server/project/LabelTypeIT.java
index 6ebf783..0249621 100644
--- a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/server/project/LabelTypeIT.java
+++ b/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/server/project/LabelTypeIT.java
@@ -25,12 +25,10 @@
 import com.google.gerrit.extensions.api.changes.ReviewInput;
 import com.google.gerrit.extensions.common.ChangeInfo;
 import com.google.gerrit.extensions.common.LabelInfo;
-import com.google.gerrit.server.git.GitRepositoryManager;
 import com.google.gerrit.server.git.MetaDataUpdate;
 import com.google.gerrit.server.git.ProjectConfig;
 import com.google.gerrit.server.notedb.NotesMigration;
 import com.google.gerrit.testutil.ConfigSuite;
-import com.google.inject.Inject;
 
 import org.eclipse.jgit.lib.Config;
 import org.eclipse.jgit.lib.Repository;
@@ -44,9 +42,6 @@
     return NotesMigration.allEnabledConfig();
   }
 
-  @Inject
-  private GitRepositoryManager repoManager;
-
   private LabelType codeReview;
 
   @Before
diff --git a/gerrit-common/src/main/java/com/google/gerrit/common/data/ApprovalDetail.java b/gerrit-common/src/main/java/com/google/gerrit/common/data/ApprovalDetail.java
index f09241d..6ec5d09 100644
--- a/gerrit-common/src/main/java/com/google/gerrit/common/data/ApprovalDetail.java
+++ b/gerrit-common/src/main/java/com/google/gerrit/common/data/ApprovalDetail.java
@@ -32,6 +32,7 @@
       final int owner) {
     List<ApprovalDetail> sorted = new ArrayList<>(ads);
     Collections.sort(sorted, new Comparator<ApprovalDetail>() {
+      @Override
       public int compare(ApprovalDetail o1, ApprovalDetail o2) {
         int byOwner = (o2.account.get() == owner ? 1 : 0)
             - (o1.account.get() == owner ? 1 : 0);
diff --git a/gerrit-common/src/main/java/com/google/gerrit/common/data/LabelType.java b/gerrit-common/src/main/java/com/google/gerrit/common/data/LabelType.java
index 5018df9..4e103b4 100644
--- a/gerrit-common/src/main/java/com/google/gerrit/common/data/LabelType.java
+++ b/gerrit-common/src/main/java/com/google/gerrit/common/data/LabelType.java
@@ -66,6 +66,7 @@
       return Collections.unmodifiableList(values);
     }
     Collections.sort(values, new Comparator<LabelValue>() {
+      @Override
       public int compare(LabelValue o1, LabelValue o2) {
         return o1.getValue() - o2.getValue();
       }
diff --git a/gerrit-common/src/main/java/com/google/gerrit/common/data/SubmitTypeRecord.java b/gerrit-common/src/main/java/com/google/gerrit/common/data/SubmitTypeRecord.java
index 7b19f4c..187db05 100644
--- a/gerrit-common/src/main/java/com/google/gerrit/common/data/SubmitTypeRecord.java
+++ b/gerrit-common/src/main/java/com/google/gerrit/common/data/SubmitTypeRecord.java
@@ -42,6 +42,7 @@
   public SubmitType type;
   public String errorMessage;
 
+  @Override
   public String toString() {
     StringBuilder sb = new StringBuilder();
     sb.append(status);
diff --git a/gerrit-extension-api/src/main/java/com/google/gerrit/extensions/registration/DynamicItem.java b/gerrit-extension-api/src/main/java/com/google/gerrit/extensions/registration/DynamicItem.java
index 9ef7d1b..c03e846 100644
--- a/gerrit-extension-api/src/main/java/com/google/gerrit/extensions/registration/DynamicItem.java
+++ b/gerrit-extension-api/src/main/java/com/google/gerrit/extensions/registration/DynamicItem.java
@@ -194,19 +194,20 @@
   }
 
   private class ReloadableHandle implements ReloadableRegistrationHandle<T> {
-    private final Key<T> key;
+    private final Key<T> handleKey;
     private final NamedProvider<T> item;
     private final NamedProvider<T> defaultItem;
 
-    ReloadableHandle(Key<T> key, NamedProvider<T> item, NamedProvider<T> defaultItem) {
-      this.key = key;
+    ReloadableHandle(Key<T> handleKey, NamedProvider<T> item,
+        NamedProvider<T> defaultItem) {
+      this.handleKey = handleKey;
       this.item = item;
       this.defaultItem = defaultItem;
     }
 
     @Override
     public Key<T> getKey() {
-      return key;
+      return handleKey;
     }
 
     @Override
diff --git a/gerrit-extension-api/src/main/java/com/google/gerrit/extensions/registration/DynamicItemProvider.java b/gerrit-extension-api/src/main/java/com/google/gerrit/extensions/registration/DynamicItemProvider.java
index 9b09d15..01551e6 100644
--- a/gerrit-extension-api/src/main/java/com/google/gerrit/extensions/registration/DynamicItemProvider.java
+++ b/gerrit-extension-api/src/main/java/com/google/gerrit/extensions/registration/DynamicItemProvider.java
@@ -36,6 +36,7 @@
     this.key = key;
   }
 
+  @Override
   public DynamicItem<T> get() {
     return new DynamicItem<>(key, find(injector, type), "gerrit");
   }
diff --git a/gerrit-extension-api/src/main/java/com/google/gerrit/extensions/registration/DynamicMap.java b/gerrit-extension-api/src/main/java/com/google/gerrit/extensions/registration/DynamicMap.java
index 4251891..abf944a 100644
--- a/gerrit-extension-api/src/main/java/com/google/gerrit/extensions/registration/DynamicMap.java
+++ b/gerrit-extension-api/src/main/java/com/google/gerrit/extensions/registration/DynamicMap.java
@@ -139,6 +139,7 @@
   }
 
   /** Iterate through all entries in an undefined order. */
+  @Override
   public Iterator<Entry<T>> iterator() {
     final Iterator<Map.Entry<NamePair, Provider<T>>> i =
         items.entrySet().iterator();
diff --git a/gerrit-extension-api/src/main/java/com/google/gerrit/extensions/registration/DynamicMapProvider.java b/gerrit-extension-api/src/main/java/com/google/gerrit/extensions/registration/DynamicMapProvider.java
index 2554673..8fcbdd9 100644
--- a/gerrit-extension-api/src/main/java/com/google/gerrit/extensions/registration/DynamicMapProvider.java
+++ b/gerrit-extension-api/src/main/java/com/google/gerrit/extensions/registration/DynamicMapProvider.java
@@ -32,6 +32,7 @@
     this.type = type;
   }
 
+  @Override
   public DynamicMap<T> get() {
     PrivateInternals_DynamicMapImpl<T> m =
         new PrivateInternals_DynamicMapImpl<>();
diff --git a/gerrit-extension-api/src/main/java/com/google/gerrit/extensions/registration/DynamicSetProvider.java b/gerrit-extension-api/src/main/java/com/google/gerrit/extensions/registration/DynamicSetProvider.java
index 9ea96d4..d8b027b 100644
--- a/gerrit-extension-api/src/main/java/com/google/gerrit/extensions/registration/DynamicSetProvider.java
+++ b/gerrit-extension-api/src/main/java/com/google/gerrit/extensions/registration/DynamicSetProvider.java
@@ -35,6 +35,7 @@
     this.type = type;
   }
 
+  @Override
   public DynamicSet<T> get() {
     return new DynamicSet<>(find(injector, type));
   }
diff --git a/gerrit-extension-api/src/main/java/com/google/gerrit/extensions/restapi/BinaryResult.java b/gerrit-extension-api/src/main/java/com/google/gerrit/extensions/restapi/BinaryResult.java
index 852c56e..e264b31 100644
--- a/gerrit-extension-api/src/main/java/com/google/gerrit/extensions/restapi/BinaryResult.java
+++ b/gerrit-extension-api/src/main/java/com/google/gerrit/extensions/restapi/BinaryResult.java
@@ -145,6 +145,7 @@
   public abstract void writeTo(OutputStream os) throws IOException;
 
   /** Close the result and release any resources it holds. */
+  @Override
   public void close() throws IOException {
   }
 
diff --git a/gerrit-extension-api/src/main/java/com/google/gerrit/extensions/restapi/CacheControl.java b/gerrit-extension-api/src/main/java/com/google/gerrit/extensions/restapi/CacheControl.java
index 3aa1781..d71732b 100644
--- a/gerrit-extension-api/src/main/java/com/google/gerrit/extensions/restapi/CacheControl.java
+++ b/gerrit-extension-api/src/main/java/com/google/gerrit/extensions/restapi/CacheControl.java
@@ -19,6 +19,7 @@
 public class CacheControl {
 
   public enum Type {
+    @SuppressWarnings("hiding")
     NONE, PUBLIC, PRIVATE
   }
 
diff --git a/gerrit-extension-api/src/main/java/com/google/gerrit/extensions/restapi/Response.java b/gerrit-extension-api/src/main/java/com/google/gerrit/extensions/restapi/Response.java
index 314c898..385554c 100644
--- a/gerrit-extension-api/src/main/java/com/google/gerrit/extensions/restapi/Response.java
+++ b/gerrit-extension-api/src/main/java/com/google/gerrit/extensions/restapi/Response.java
@@ -52,6 +52,7 @@
   public abstract T value();
   public abstract CacheControl caching();
   public abstract Response<T> caching(CacheControl c);
+  @Override
   public abstract String toString();
 
   private static final class Impl<T> extends Response<T> {
@@ -100,6 +101,7 @@
       return 204;
     }
 
+    @Override
     public Object value() {
       throw new UnsupportedOperationException();
     }
diff --git a/gerrit-gwtexpui/src/main/java/com/google/gwtexpui/clippy/client/CopyableLabel.java b/gerrit-gwtexpui/src/main/java/com/google/gwtexpui/clippy/client/CopyableLabel.java
index a0392f8..e34814f 100644
--- a/gerrit-gwtexpui/src/main/java/com/google/gwtexpui/clippy/client/CopyableLabel.java
+++ b/gerrit-gwtexpui/src/main/java/com/google/gwtexpui/clippy/client/CopyableLabel.java
@@ -160,10 +160,12 @@
     }
   }
 
+  @Override
   public String getText() {
     return text;
   }
 
+  @Override
   public void setText(final String newText) {
     text = newText;
     visibleLen = newText.length();
@@ -195,6 +197,7 @@
                   @Override
                   public void onKeyUp(final KeyUpEvent event) {
                     Scheduler.get().scheduleDeferred(new Command() {
+                      @Override
                       public void execute() {
                         hideTextBox();
                       }
diff --git a/gerrit-gwtexpui/src/main/java/com/google/gwtexpui/safehtml/client/AttMap.java b/gerrit-gwtexpui/src/main/java/com/google/gwtexpui/safehtml/client/AttMap.java
index b08b29f..6eaa7fd 100644
--- a/gerrit-gwtexpui/src/main/java/com/google/gwtexpui/safehtml/client/AttMap.java
+++ b/gerrit-gwtexpui/src/main/java/com/google/gwtexpui/safehtml/client/AttMap.java
@@ -107,11 +107,13 @@
   }
 
   private static class AnyTag implements Tag {
+    @Override
     public void assertSafe(String name, String value) {
     }
   }
 
   private static class AnchorTag implements Tag {
+    @Override
     public void assertSafe(String name, String value) {
       if ("href".equals(name)) {
         assertNotJavascriptUrl(value);
@@ -120,6 +122,7 @@
   }
 
   private static class FormTag implements Tag {
+    @Override
     public void assertSafe(String name, String value) {
       if ("action".equals(name)) {
         assertNotJavascriptUrl(value);
@@ -128,6 +131,7 @@
   }
 
   private static class SrcTag implements Tag {
+    @Override
     public void assertSafe(String name, String value) {
       if ("src".equals(name)) {
         assertNotJavascriptUrl(value);
diff --git a/gerrit-gwtexpui/src/main/java/com/google/gwtexpui/safehtml/client/Buffer.java b/gerrit-gwtexpui/src/main/java/com/google/gwtexpui/safehtml/client/Buffer.java
index d79c580..12389b4 100644
--- a/gerrit-gwtexpui/src/main/java/com/google/gwtexpui/safehtml/client/Buffer.java
+++ b/gerrit-gwtexpui/src/main/java/com/google/gwtexpui/safehtml/client/Buffer.java
@@ -29,5 +29,6 @@
 
   void append(String v);
 
+  @Override
   String toString();
 }
diff --git a/gerrit-gwtexpui/src/main/java/com/google/gwtexpui/safehtml/client/BufferDirect.java b/gerrit-gwtexpui/src/main/java/com/google/gwtexpui/safehtml/client/BufferDirect.java
index a1801ad..83abd5d 100644
--- a/gerrit-gwtexpui/src/main/java/com/google/gwtexpui/safehtml/client/BufferDirect.java
+++ b/gerrit-gwtexpui/src/main/java/com/google/gwtexpui/safehtml/client/BufferDirect.java
@@ -21,30 +21,37 @@
     return strbuf.length() == 0;
   }
 
+  @Override
   public void append(final boolean v) {
     strbuf.append(v);
   }
 
+  @Override
   public void append(final char v) {
     strbuf.append(v);
   }
 
+  @Override
   public void append(final int v) {
     strbuf.append(v);
   }
 
+  @Override
   public void append(final long v) {
     strbuf.append(v);
   }
 
+  @Override
   public void append(final float v) {
     strbuf.append(v);
   }
 
+  @Override
   public void append(final double v) {
     strbuf.append(v);
   }
 
+  @Override
   public void append(final String v) {
     strbuf.append(v);
   }
diff --git a/gerrit-gwtexpui/src/main/java/com/google/gwtexpui/safehtml/client/BufferSealElement.java b/gerrit-gwtexpui/src/main/java/com/google/gwtexpui/safehtml/client/BufferSealElement.java
index 6b5346d8..e3aed55 100644
--- a/gerrit-gwtexpui/src/main/java/com/google/gwtexpui/safehtml/client/BufferSealElement.java
+++ b/gerrit-gwtexpui/src/main/java/com/google/gwtexpui/safehtml/client/BufferSealElement.java
@@ -21,30 +21,37 @@
     shb = safeHtmlBuilder;
   }
 
+  @Override
   public void append(final boolean v) {
     shb.sealElement().append(v);
   }
 
+  @Override
   public void append(final char v) {
     shb.sealElement().append(v);
   }
 
+  @Override
   public void append(final double v) {
     shb.sealElement().append(v);
   }
 
+  @Override
   public void append(final float v) {
     shb.sealElement().append(v);
   }
 
+  @Override
   public void append(final int v) {
     shb.sealElement().append(v);
   }
 
+  @Override
   public void append(final long v) {
     shb.sealElement().append(v);
   }
 
+  @Override
   public void append(final String v) {
     shb.sealElement().append(v);
   }
diff --git a/gerrit-gwtexpui/src/main/java/com/google/gwtexpui/safehtml/client/HighlightSuggestOracle.java b/gerrit-gwtexpui/src/main/java/com/google/gwtexpui/safehtml/client/HighlightSuggestOracle.java
index 216add1..1ca688b 100644
--- a/gerrit-gwtexpui/src/main/java/com/google/gwtexpui/safehtml/client/HighlightSuggestOracle.java
+++ b/gerrit-gwtexpui/src/main/java/com/google/gwtexpui/safehtml/client/HighlightSuggestOracle.java
@@ -41,6 +41,7 @@
   @Override
   public final void requestSuggestions(final Request request, final Callback cb) {
     onRequestSuggestions(request, new Callback() {
+      @Override
       public void onSuggestionsReady(final Request request,
           final Response response) {
         final String qpat = getQueryPattern(request.getQuery());
@@ -99,10 +100,12 @@
     private static native String sgi(String inString, String pat, String newHtml)
     /*-{ return inString.replace(RegExp(pat, 'gi'), newHtml); }-*/;
 
+    @Override
     public String getDisplayString() {
       return displayString;
     }
 
+    @Override
     public String getReplacementString() {
       return suggestion.getReplacementString();
     }
diff --git a/gerrit-gwtexpui/src/main/java/com/google/gwtexpui/safehtml/client/SafeHtml.java b/gerrit-gwtexpui/src/main/java/com/google/gwtexpui/safehtml/client/SafeHtml.java
index a71120a..b8f0800 100644
--- a/gerrit-gwtexpui/src/main/java/com/google/gwtexpui/safehtml/client/SafeHtml.java
+++ b/gerrit-gwtexpui/src/main/java/com/google/gwtexpui/safehtml/client/SafeHtml.java
@@ -44,26 +44,32 @@
         @Override
         public SafeHtmlCss css() {
           return new SafeHtmlCss() {
+            @Override
             public String wikiList() {
               return "wikiList";
             }
 
+            @Override
             public String wikiPreFormat() {
               return "wikiPreFormat";
             }
 
+            @Override
             public String wikiQuote() {
               return "wikiQuote";
             }
 
+            @Override
             public boolean ensureInjected() {
               return false;
             }
 
+            @Override
             public String getName() {
               return null;
             }
 
+            @Override
             public String getText() {
               return null;
             }
@@ -335,5 +341,6 @@
   }
 
   /** @return a clean HTML string safe for inclusion in any context. */
+  @Override
   public abstract String asString();
 }
diff --git a/gerrit-gwtexpui/src/main/java/com/google/gwtexpui/server/CacheControlFilter.java b/gerrit-gwtexpui/src/main/java/com/google/gwtexpui/server/CacheControlFilter.java
index 54bfcd0..a438caf 100644
--- a/gerrit-gwtexpui/src/main/java/com/google/gwtexpui/server/CacheControlFilter.java
+++ b/gerrit-gwtexpui/src/main/java/com/google/gwtexpui/server/CacheControlFilter.java
@@ -49,12 +49,15 @@
  * </pre>
  */
 public class CacheControlFilter implements Filter {
+  @Override
   public void init(final FilterConfig config) {
   }
 
+  @Override
   public void destroy() {
   }
 
+  @Override
   public void doFilter(final ServletRequest sreq, final ServletResponse srsp,
       final FilterChain chain) throws IOException, ServletException {
     final HttpServletRequest req = (HttpServletRequest) sreq;
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/Dispatcher.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/Dispatcher.java
index cc8e997..cab7766 100644
--- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/Dispatcher.java
+++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/Dispatcher.java
@@ -240,7 +240,7 @@
       if (defaultScreenToken != null && !MINE.equals(defaultScreenToken)) {
         select(defaultScreenToken);
       } else {
-        Gerrit.display(token, mine(token));
+        Gerrit.display(token, mine());
       }
 
     } else if (matchPrefix("/dashboard/", token)) {
@@ -433,7 +433,7 @@
     Gerrit.display(token, screen);
   }
 
-  private static Screen mine(final String token) {
+  private static Screen mine() {
     if (Gerrit.isSignedIn()) {
       return new AccountDashboardScreen(Gerrit.getUserAccount().getId());
 
@@ -644,6 +644,7 @@
   private static void publish(final PatchSet.Id ps) {
     String token = toPublish(ps);
     new AsyncSplit(token) {
+      @Override
       public void onSuccess() {
         Gerrit.display(token, select());
       }
@@ -670,6 +671,7 @@
         Gerrit.getPatchScreenTopView() : topView;
 
     GWT.runAsync(new AsyncSplit(token) {
+      @Override
       public void onSuccess() {
         Gerrit.display(token, select());
       }
@@ -743,6 +745,7 @@
 
   private static void settings(String token) {
     GWT.runAsync(new AsyncSplit(token) {
+      @Override
       public void onSuccess() {
         Gerrit.display(token, select());
       }
@@ -810,6 +813,7 @@
 
   private static void admin(String token) {
     GWT.runAsync(new AsyncSplit(token) {
+      @Override
       public void onSuccess() {
         if (matchExact(ADMIN_GROUPS, token)
             || matchExact("/admin/groups", token)) {
@@ -983,6 +987,7 @@
       this.token = token;
     }
 
+    @Override
     public final void onFailure(Throwable reason) {
       if (!isReloadUi
           && "HTTP download failed with status 404".equals(reason.getMessage())) {
@@ -999,6 +1004,7 @@
 
   private static void docSearch(final String token) {
     GWT.runAsync(new AsyncSplit(token) {
+      @Override
       public void onSuccess() {
         Gerrit.display(token, new DocScreen(skip(token)));
       }
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/Gerrit.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/Gerrit.java
index bfe3d0b..083b1ae 100644
--- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/Gerrit.java
+++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/Gerrit.java
@@ -657,6 +657,7 @@
     final LinkMenuItem dashboardsMenuItem =
         new ProjectLinkMenuItem(C.menuProjectsDashboards(),
             ProjectScreen.DASHBOARDS) {
+      @Override
       protected boolean match(String token) {
         return super.match(token) ||
             (!getTargetHistoryToken().isEmpty() && ("/admin" + token).startsWith(getTargetHistoryToken()));
@@ -718,6 +719,7 @@
 
         case OPENID:
           menuRight.addItem(C.menuRegister(), new Command() {
+            @Override
             public void execute() {
               String t = History.getToken();
               if (t == null) {
@@ -727,6 +729,7 @@
             }
           });
           menuRight.addItem(C.menuSignIn(), new Command() {
+            @Override
             public void execute() {
               doSignIn(History.getToken());
             }
@@ -735,6 +738,7 @@
 
         case OPENID_SSO:
           menuRight.addItem(C.menuSignIn(), new Command() {
+            @Override
             public void execute() {
               doSignIn(History.getToken());
             }
@@ -757,6 +761,7 @@
             menuRight.add(anchor(registerText, cfg.getRegisterUrl()));
           }
           menuRight.addItem(C.menuSignIn(), new Command() {
+            @Override
             public void execute() {
               doSignIn(History.getToken());
             }
@@ -769,6 +774,7 @@
       }
     }
     ConfigServerApi.topMenus(new GerritCallback<TopMenuList>() {
+      @Override
       public void onSuccess(TopMenuList result) {
         List<TopMenu> topMenuExtensions = Natives.asList(result);
         for (TopMenu menu : topMenuExtensions) {
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/MessageOfTheDayBar.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/MessageOfTheDayBar.java
index b6ea636..054cdb3 100644
--- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/MessageOfTheDayBar.java
+++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/MessageOfTheDayBar.java
@@ -67,7 +67,7 @@
   }
 
   @UiHandler("dismiss")
-  void onDismiss(ClickEvent e) {
+  void onDismiss(@SuppressWarnings("unused") ClickEvent e) {
     removeFromParent();
 
     for (HostPageData.Message m : motd) {
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/account/ContactPanelShort.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/account/ContactPanelShort.java
index 66f676e..b5fe70f 100644
--- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/account/ContactPanelShort.java
+++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/account/ContactPanelShort.java
@@ -194,6 +194,7 @@
     haveEmails = false;
 
     Util.ACCOUNT_SVC.myAccount(new GerritCallback<Account>() {
+      @Override
       public void onSuccess(final Account result) {
         if (!isAttached()) {
           return;
@@ -359,6 +360,7 @@
 
     Util.ACCOUNT_SEC.updateContact(newName, newEmail, info,
         new GerritCallback<Account>() {
+          @Override
           public void onSuccess(final Account result) {
             registerNewEmail.setEnabled(true);
             onSaveSuccess(result);
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/account/MyAgreementsScreen.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/account/MyAgreementsScreen.java
index 3bd2e77..0908f6b 100644
--- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/account/MyAgreementsScreen.java
+++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/account/MyAgreementsScreen.java
@@ -40,6 +40,7 @@
   protected void onLoad() {
     super.onLoad();
     Util.ACCOUNT_SVC.myAgreements(new ScreenLoadCallback<AgreementInfo>(this) {
+      @Override
       public void preDisplay(final AgreementInfo result) {
         agreements.display(result);
       }
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/account/MyIdentitiesScreen.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/account/MyIdentitiesScreen.java
index a84ca99..0de353d 100644
--- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/account/MyIdentitiesScreen.java
+++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/account/MyIdentitiesScreen.java
@@ -76,6 +76,7 @@
     super.onLoad();
     Util.ACCOUNT_SEC
         .myExternalIds(new ScreenLoadCallback<List<AccountExternalId>>(this) {
+          @Override
           public void preDisplay(final List<AccountExternalId> result) {
             identites.display(result);
           }
@@ -126,6 +127,7 @@
         deleteIdentity.setEnabled(false);
         Util.ACCOUNT_SEC.deleteExternalIds(keys,
             new GerritCallback<Set<AccountExternalId.Key>>() {
+              @Override
               public void onSuccess(final Set<AccountExternalId.Key> removed) {
                 for (int row = 1; row < table.getRowCount();) {
                   final AccountExternalId k = getRowItem(row);
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/account/MyWatchedProjectsScreen.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/account/MyWatchedProjectsScreen.java
index a528912..20c0c38 100644
--- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/account/MyWatchedProjectsScreen.java
+++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/account/MyWatchedProjectsScreen.java
@@ -213,6 +213,7 @@
 
     Util.ACCOUNT_SVC.addProjectWatch(projectName, filter,
         new GerritCallback<AccountProjectWatchInfo>() {
+          @Override
           public void onSuccess(final AccountProjectWatchInfo result) {
             addNew.setEnabled(true);
             nameBox.setEnabled(true);
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/account/MyWatchesTable.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/account/MyWatchesTable.java
index 197dcf8..67f5b4a 100644
--- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/account/MyWatchesTable.java
+++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/account/MyWatchesTable.java
@@ -67,6 +67,7 @@
     if (!ids.isEmpty()) {
       Util.ACCOUNT_SVC.deleteProjectWatches(ids,
           new GerritCallback<VoidResult>() {
+            @Override
             public void onSuccess(final VoidResult result) {
               remove(ids);
             }
@@ -165,6 +166,7 @@
         cbox.setEnabled(false);
         Util.ACCOUNT_SVC.updateProjectWatch(info.getWatch(),
             new GerritCallback<VoidResult>() {
+              @Override
               public void onSuccess(final VoidResult result) {
                 cbox.setEnabled(true);
               }
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/account/NewAgreementScreen.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/account/NewAgreementScreen.java
index c6da773..95ea317 100644
--- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/account/NewAgreementScreen.java
+++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/account/NewAgreementScreen.java
@@ -79,6 +79,7 @@
   protected void onLoad() {
     super.onLoad();
     Util.ACCOUNT_SVC.myAgreements(new GerritCallback<AgreementInfo>() {
+      @Override
       public void onSuccess(AgreementInfo result) {
         if (isAttached()) {
           mySigned = new HashSet<>(result.accepted);
@@ -88,6 +89,7 @@
     });
     Gerrit.SYSTEM_SVC
         .contributorAgreements(new GerritCallback<List<ContributorAgreement>>() {
+          @Override
           public void onSuccess(final List<ContributorAgreement> result) {
             if (isAttached()) {
               available = result;
@@ -224,6 +226,7 @@
   private void doEnterAgreement() {
     Util.ACCOUNT_SEC.enterAgreement(current.getName(),
         new GerritCallback<VoidResult>() {
+          @Override
           public void onSuccess(final VoidResult result) {
             Gerrit.display(nextToken);
           }
@@ -247,10 +250,12 @@
       }
       final RequestBuilder rb = new RequestBuilder(RequestBuilder.GET, url);
       rb.setCallback(new RequestCallback() {
+        @Override
         public void onError(Request request, Throwable exception) {
           new ErrorDialog(exception).center();
         }
 
+        @Override
         public void onResponseReceived(Request request, Response response) {
           final String ct = response.getHeader("Content-Type");
           if (response.getStatusCode() == 200 && ct != null
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/account/SshPanel.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/account/SshPanel.java
index fb1ed8b..0cfc0984 100644
--- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/account/SshPanel.java
+++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/account/SshPanel.java
@@ -159,6 +159,7 @@
     if (txt != null && txt.length() > 0) {
       addNew.setEnabled(false);
       AccountApi.addSshKey("self", txt, new GerritCallback<SshKeyInfo>() {
+        @Override
         public void onSuccess(final SshKeyInfo k) {
           addNew.setEnabled(true);
           addTxt.setText("");
@@ -198,6 +199,7 @@
     super.onLoad();
     refreshSshKeys();
     Gerrit.SYSTEM_SVC.daemonHostKeys(new GerritCallback<List<SshHostKey>>() {
+      @Override
       public void onSuccess(final List<SshHostKey> result) {
         serverKeys.clear();
         for (final SshHostKey keyInfo : result) {
@@ -272,6 +274,7 @@
         deleteKey.setEnabled(false);
         AccountApi.deleteSshKeys("self", sequenceNumbers,
             new GerritCallback<VoidResult>() {
+              @Override
               public void onSuccess(VoidResult result) {
                 for (int row = 1; row < table.getRowCount();) {
                   final SshKeyInfo k = getRowItem(row);
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/account/UsernameField.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/account/UsernameField.java
index 945ae18..9975887 100644
--- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/account/UsernameField.java
+++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/account/UsernameField.java
@@ -116,6 +116,7 @@
 
     Util.ACCOUNT_SEC.changeUserName(newUserName,
         new GerritCallback<VoidResult>() {
+          @Override
           public void onSuccess(final VoidResult result) {
             Gerrit.getUserAccount().setUserName(newUserName);
             userNameLbl.setText(newUserName);
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/AccessSectionEditor.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/AccessSectionEditor.java
index 3a0d2f7..e25e2a8 100644
--- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/AccessSectionEditor.java
+++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/AccessSectionEditor.java
@@ -109,17 +109,17 @@
   }
 
   @UiHandler("deleteSection")
-  void onDeleteHover(MouseOverEvent event) {
+  void onDeleteHover(@SuppressWarnings("unused") MouseOverEvent event) {
     normal.addClassName(AdminResources.I.css().deleteSectionHover());
   }
 
   @UiHandler("deleteSection")
-  void onDeleteNonHover(MouseOutEvent event) {
+  void onDeleteNonHover(@SuppressWarnings("unused") MouseOutEvent event) {
     normal.removeClassName(AdminResources.I.css().deleteSectionHover());
   }
 
   @UiHandler("deleteSection")
-  void onDeleteSection(ClickEvent event) {
+  void onDeleteSection(@SuppressWarnings("unused") ClickEvent event) {
     isDeleted = true;
 
     if (name.isVisible()
@@ -139,7 +139,7 @@
   }
 
   @UiHandler("undoDelete")
-  void onUndoDelete(ClickEvent event) {
+  void onUndoDelete(@SuppressWarnings("unused") ClickEvent event) {
     isDeleted = false;
     deleted.getStyle().setDisplay(Display.NONE);
     normal.getStyle().setDisplay(Display.BLOCK);
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/AccountGroupInfoScreen.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/AccountGroupInfoScreen.java
index 2cacf35..f6c0002 100644
--- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/AccountGroupInfoScreen.java
+++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/AccountGroupInfoScreen.java
@@ -96,6 +96,7 @@
         final String newName = groupNameTxt.getText().trim();
         GroupApi.renameGroup(getGroupUUID(), newName,
             new GerritCallback<com.google.gerrit.client.VoidResult>() {
+              @Override
               public void onSuccess(final com.google.gerrit.client.VoidResult result) {
                 saveName.setEnabled(false);
                 setPageTitle(Util.M.group(newName));
@@ -135,6 +136,7 @@
           String ownerId = ownerUuid != null ? ownerUuid.get() : newOwner;
           GroupApi.setGroupOwner(getGroupUUID(), ownerId,
               new GerritCallback<GroupInfo>() {
+                @Override
                 public void onSuccess(final GroupInfo result) {
                   updateOwnerGroup(result);
                   saveOwner.setEnabled(false);
@@ -165,6 +167,7 @@
         final String txt = descTxt.getText().trim();
         GroupApi.setGroupDescription(getGroupUUID(), txt,
             new GerritCallback<VoidResult>() {
+              @Override
               public void onSuccess(final VoidResult result) {
                 saveDesc.setEnabled(false);
               }
@@ -193,6 +196,7 @@
       public void onClick(final ClickEvent event) {
         GroupApi.setGroupOptions(getGroupUUID(),
             visibleToAllCheckBox.getValue(), new GerritCallback<VoidResult>() {
+              @Override
               public void onSuccess(final VoidResult result) {
                 saveGroupOptions.setEnabled(false);
               }
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/AccountGroupMembersScreen.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/AccountGroupMembersScreen.java
index df74a41..0562689 100644
--- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/AccountGroupMembersScreen.java
+++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/AccountGroupMembersScreen.java
@@ -172,6 +172,7 @@
     addMemberBox.setEnabled(false);
     GroupApi.addMember(getGroupUUID(), nameEmail,
         new GerritCallback<AccountInfo>() {
+          @Override
           public void onSuccess(final AccountInfo memberInfo) {
             addMemberBox.setEnabled(true);
             addMemberBox.setText("");
@@ -200,6 +201,7 @@
     addIncludeBox.setEnabled(false);
     GroupApi.addIncludedGroup(getGroupUUID(), uuid.get(),
         new GerritCallback<GroupInfo>() {
+          @Override
           public void onSuccess(final GroupInfo result) {
             addIncludeBox.setEnabled(true);
             addIncludeBox.setText("");
@@ -248,6 +250,7 @@
       if (!ids.isEmpty()) {
         GroupApi.removeMembers(getGroupUUID(), ids,
             new GerritCallback<VoidResult>() {
+              @Override
               public void onSuccess(final VoidResult result) {
                 for (int row = 1; row < table.getRowCount();) {
                   final AccountInfo i = getRowItem(row);
@@ -353,6 +356,7 @@
       if (!ids.isEmpty()) {
         GroupApi.removeIncludedGroups(getGroupUUID(), ids,
             new GerritCallback<VoidResult>() {
+              @Override
               public void onSuccess(final VoidResult result) {
                 for (int row = 1; row < table.getRowCount();) {
                   final GroupInfo i = getRowItem(row);
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/CreateGroupScreen.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/CreateGroupScreen.java
index 69dff5c..a2ba5cd 100644
--- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/CreateGroupScreen.java
+++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/CreateGroupScreen.java
@@ -128,6 +128,7 @@
 
     addNew.setEnabled(false);
     GroupApi.createGroup(newName, new GerritCallback<GroupInfo>() {
+      @Override
       public void onSuccess(final GroupInfo result) {
         History.newItem(Dispatcher.toGroup(result.getGroupId(),
             AccountGroupScreen.MEMBERS));
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/GroupReferenceBox.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/GroupReferenceBox.java
index 4ddc9a8..a76638e 100644
--- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/GroupReferenceBox.java
+++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/GroupReferenceBox.java
@@ -133,6 +133,7 @@
     suggestBox.setTabIndex(index);
   }
 
+  @Override
   public void setFocus(boolean focused) {
     suggestBox.setFocus(focused);
   }
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/PermissionEditor.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/PermissionEditor.java
index b3d8564..b9baccc 100644
--- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/PermissionEditor.java
+++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/PermissionEditor.java
@@ -145,31 +145,31 @@
   }
 
   @UiHandler("deletePermission")
-  void onDeleteHover(MouseOverEvent event) {
+  void onDeleteHover(@SuppressWarnings("unused") MouseOverEvent event) {
     addStyleName(AdminResources.I.css().deleteSectionHover());
   }
 
   @UiHandler("deletePermission")
-  void onDeleteNonHover(MouseOutEvent event) {
+  void onDeleteNonHover(@SuppressWarnings("unused") MouseOutEvent event) {
     removeStyleName(AdminResources.I.css().deleteSectionHover());
   }
 
   @UiHandler("deletePermission")
-  void onDeletePermission(ClickEvent event) {
+  void onDeletePermission(@SuppressWarnings("unused") ClickEvent event) {
     isDeleted = true;
     normal.getStyle().setDisplay(Display.NONE);
     deleted.getStyle().setDisplay(Display.BLOCK);
   }
 
   @UiHandler("undoDelete")
-  void onUndoDelete(ClickEvent event) {
+  void onUndoDelete(@SuppressWarnings("unused") ClickEvent event) {
     isDeleted = false;
     deleted.getStyle().setDisplay(Display.NONE);
     normal.getStyle().setDisplay(Display.BLOCK);
   }
 
   @UiHandler("beginAddRule")
-  void onBeginAddRule(ClickEvent event) {
+  void onBeginAddRule(@SuppressWarnings("unused") ClickEvent event) {
     beginAddRule();
   }
 
@@ -186,7 +186,7 @@
   }
 
   @UiHandler("addRule")
-  void onAddGroupByClick(ClickEvent event) {
+  void onAddGroupByClick(@SuppressWarnings("unused") ClickEvent event) {
     GroupReference ref = groupToAdd.getValue();
     if (ref != null) {
       addGroup(ref);
@@ -204,12 +204,13 @@
   }
 
   @UiHandler("groupToAdd")
-  void onAbortAddGroup(CloseEvent<GroupReferenceBox> event) {
+  void onAbortAddGroup(
+      @SuppressWarnings("unused") CloseEvent<GroupReferenceBox> event) {
     hideAddGroup();
   }
 
   @UiHandler("hideAddGroup")
-  void hideAddGroup(ClickEvent event) {
+  void hideAddGroup(@SuppressWarnings("unused") ClickEvent event) {
     hideAddGroup();
   }
 
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/PermissionRuleEditor.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/PermissionRuleEditor.java
index 9e719ea..163702c 100644
--- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/PermissionRuleEditor.java
+++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/PermissionRuleEditor.java
@@ -176,14 +176,14 @@
   }
 
   @UiHandler("deleteRule")
-  void onDeleteRule(ClickEvent event) {
+  void onDeleteRule(@SuppressWarnings("unused") ClickEvent event) {
     isDeleted = true;
     normal.getStyle().setDisplay(Display.NONE);
     deleted.getStyle().setDisplay(Display.BLOCK);
   }
 
   @UiHandler("undoDelete")
-  void onUndoDelete(ClickEvent event) {
+  void onUndoDelete(@SuppressWarnings("unused") ClickEvent event) {
     isDeleted = false;
     deleted.getStyle().setDisplay(Display.NONE);
     normal.getStyle().setDisplay(Display.BLOCK);
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/ProjectAccessEditor.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/ProjectAccessEditor.java
index 8981e82..55bc655 100644
--- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/ProjectAccessEditor.java
+++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/ProjectAccessEditor.java
@@ -84,7 +84,7 @@
   }
 
   @UiHandler("addSection")
-  void onAddSection(ClickEvent event) {
+  void onAddSection(@SuppressWarnings("unused") ClickEvent event) {
     int index = local.getList().size();
     local.getList().add(new AccessSection("refs/heads/*"));
 
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/ProjectAccessScreen.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/ProjectAccessScreen.java
index 9c6cc1d..b86d0a8 100644
--- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/ProjectAccessScreen.java
+++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/ProjectAccessScreen.java
@@ -159,7 +159,7 @@
   }
 
   @UiHandler("edit")
-  void onEdit(ClickEvent event) {
+  void onEdit(@SuppressWarnings("unused") ClickEvent event) {
     resetEditors();
 
     edit.setEnabled(false);
@@ -184,12 +184,12 @@
   }
 
   @UiHandler(value={"cancel1", "cancel2"})
-  void onCancel(ClickEvent event) {
+  void onCancel(@SuppressWarnings("unused") ClickEvent event) {
     Gerrit.display(PageLinks.toProjectAcceess(getProjectKey()));
   }
 
   @UiHandler("commit")
-  void onCommit(ClickEvent event) {
+  void onCommit(@SuppressWarnings("unused") ClickEvent event) {
     final ProjectAccess access = driver.flush();
 
     if (driver.hasErrors()) {
@@ -267,7 +267,7 @@
   }
 
   @UiHandler("review")
-  void onReview(ClickEvent event) {
+  void onReview(@SuppressWarnings("unused") ClickEvent event) {
     final ProjectAccess access = driver.flush();
 
     if (driver.hasErrors()) {
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/ProjectBranchesScreen.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/ProjectBranchesScreen.java
index ae81410..66d9d67 100644
--- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/ProjectBranchesScreen.java
+++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/ProjectBranchesScreen.java
@@ -316,6 +316,7 @@
     private void deleteBranches(final Set<String> branches) {
       ProjectApi.deleteBranches(getProjectKey(), branches,
           new GerritCallback<VoidResult>() {
+            @Override
             public void onSuccess(VoidResult result) {
               for (int row = 1; row < table.getRowCount();) {
                 BranchInfo k = getRowItem(row);
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/ProjectListScreen.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/ProjectListScreen.java
index 3d1b96061..fafe967 100644
--- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/ProjectListScreen.java
+++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/ProjectListScreen.java
@@ -236,9 +236,10 @@
             a.setHref(gitWebLink.toProject(k.name_key()));
             p.add(a);
           }
-
-          for (WebLinkInfo weblink : webLinks) {
-            p.add(weblink.toAnchor());
+          if (webLinks != null) {
+            for (WebLinkInfo weblink : webLinks) {
+              p.add(weblink.toAnchor());
+            }
           }
         }
       }
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/RefPatternBox.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/RefPatternBox.java
index 0cf5d48..e8e88cc 100644
--- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/RefPatternBox.java
+++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/RefPatternBox.java
@@ -27,16 +27,19 @@
 
 public class RefPatternBox extends ValueBox<String> {
   private static final Renderer<String> RENDERER = new Renderer<String>() {
+    @Override
     public String render(String ref) {
       return ref;
     }
 
+    @Override
     public void render(String ref, Appendable dst) throws IOException {
       dst.append(render(ref));
     }
   };
 
   private static final Parser<String> PARSER = new Parser<String>() {
+    @Override
     public String parse(CharSequence text) throws ParseException {
       String ref = text.toString();
 
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/ValueEditor.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/ValueEditor.java
index a7463b4..60b11c2 100644
--- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/ValueEditor.java
+++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/ValueEditor.java
@@ -86,6 +86,7 @@
     editPanel.setVisible(true);
   }
 
+  @Override
   public ValueBoxEditor<T> asEditor() {
     if (editProxy == null) {
       editProxy = new EditorProxy();
@@ -133,6 +134,7 @@
     startHandlers.enabled = enabled;
   }
 
+  @Override
   public void showErrors(List<EditorError> errors) {
     StringBuilder buf = new StringBuilder();
     for (EditorError error : errors) {
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/api/PluginName.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/api/PluginName.java
index bd90cd3..67b8a98 100644
--- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/api/PluginName.java
+++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/api/PluginName.java
@@ -81,6 +81,7 @@
 
   /** Extracts URL from the stack frame. */
   static class PluginNameMoz extends PluginName {
+    @Override
     String findCallerUrl() {
       return getUrl(makeException());
     }
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/AbandonAction.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/AbandonAction.java
index 60fbee4..54b83f1 100644
--- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/AbandonAction.java
+++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/AbandonAction.java
@@ -30,6 +30,7 @@
     this.id = id;
   }
 
+  @Override
   void send(String message) {
     ChangeApi.abandon(id.get(), message, new GerritCallback<ChangeInfo>() {
       @Override
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/ActionMessageBox.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/ActionMessageBox.java
index 45f122c..c560f6d 100644
--- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/ActionMessageBox.java
+++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/ActionMessageBox.java
@@ -98,7 +98,7 @@
   }
 
   @UiHandler("send")
-  void onSend(ClickEvent e) {
+  void onSend(@SuppressWarnings("unused") ClickEvent e) {
     send(message.getValue().trim());
   }
 }
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/Actions.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/Actions.java
index 4ee46e5..b5090ca 100644
--- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/Actions.java
+++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/Actions.java
@@ -185,7 +185,7 @@
   }
 
   @UiHandler("followUp")
-  void onFollowUp(ClickEvent e) {
+  void onFollowUp(@SuppressWarnings("unused") ClickEvent e) {
     if (followUpAction == null) {
       followUpAction = new FollowUpAction(followUp, project,
           branch, key);
@@ -194,7 +194,7 @@
   }
 
   @UiHandler("abandon")
-  void onAbandon(ClickEvent e) {
+  void onAbandon(@SuppressWarnings("unused") ClickEvent e) {
     if (abandonAction == null) {
       abandonAction = new AbandonAction(abandon, changeId);
     }
@@ -202,37 +202,37 @@
   }
 
   @UiHandler("publish")
-  void onPublish(ClickEvent e) {
+  void onPublish(@SuppressWarnings("unused") ClickEvent e) {
     DraftActions.publish(changeId, revision);
   }
 
   @UiHandler("deleteEdit")
-  void onDeleteEdit(ClickEvent e) {
+  void onDeleteEdit(@SuppressWarnings("unused") ClickEvent e) {
     EditActions.deleteEdit(changeId);
   }
 
   @UiHandler("publishEdit")
-  void onPublishEdit(ClickEvent e) {
+  void onPublishEdit(@SuppressWarnings("unused") ClickEvent e) {
     EditActions.publishEdit(changeId);
   }
 
   @UiHandler("rebaseEdit")
-  void onRebaseEdit(ClickEvent e) {
+  void onRebaseEdit(@SuppressWarnings("unused") ClickEvent e) {
     EditActions.rebaseEdit(changeId);
   }
 
   @UiHandler("deleteRevision")
-  void onDeleteRevision(ClickEvent e) {
+  void onDeleteRevision(@SuppressWarnings("unused") ClickEvent e) {
     DraftActions.delete(changeId, revision);
   }
 
   @UiHandler("deleteChange")
-  void onDeleteChange(ClickEvent e) {
+  void onDeleteChange(@SuppressWarnings("unused") ClickEvent e) {
     DraftActions.delete(changeId);
   }
 
   @UiHandler("restore")
-  void onRestore(ClickEvent e) {
+  void onRestore(@SuppressWarnings("unused") ClickEvent e) {
     if (restoreAction == null) {
       restoreAction = new RestoreAction(restore, changeId);
     }
@@ -240,23 +240,23 @@
   }
 
   @UiHandler("rebase")
-  void onRebase(ClickEvent e) {
+  void onRebase(@SuppressWarnings("unused") ClickEvent e) {
     RebaseAction.call(changeId, revision);
   }
 
   @UiHandler("submit")
-  void onSubmit(ClickEvent e) {
+  void onSubmit(@SuppressWarnings("unused") ClickEvent e) {
     SubmitAction.call(changeInfo, changeInfo.revision(revision));
   }
 
   @UiHandler("cherrypick")
-  void onCherryPick(ClickEvent e) {
+  void onCherryPick(@SuppressWarnings("unused") ClickEvent e) {
     CherryPickAction.call(cherrypick, changeInfo, revision, project, message);
   }
 
   @UiHandler("revert")
-  void onRevert(ClickEvent e) {
-    RevertAction.call(revert, changeId, revision, project, subject);
+  void onRevert(@SuppressWarnings("unused") ClickEvent e) {
+    RevertAction.call(revert, changeId, revision, subject);
   }
 
   private static void a2b(NativeMap<ActionInfo> actions, String a, Button b) {
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/ChangeScreen2.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/ChangeScreen2.java
index 9bdf49a..5c75c0b 100644
--- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/ChangeScreen2.java
+++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/ChangeScreen2.java
@@ -538,22 +538,22 @@
   }
 
   @UiHandler("includedIn")
-  void onIncludedIn(ClickEvent e) {
+  void onIncludedIn(@SuppressWarnings("unused") ClickEvent e) {
     includedInAction.show();
   }
 
   @UiHandler("download")
-  void onDownload(ClickEvent e) {
+  void onDownload(@SuppressWarnings("unused") ClickEvent e) {
     downloadAction.show();
   }
 
   @UiHandler("patchSets")
-  void onPatchSets(ClickEvent e) {
+  void onPatchSets(@SuppressWarnings("unused") ClickEvent e) {
     patchSetsAction.show();
   }
 
   @UiHandler("reply")
-  void onReply(ClickEvent e) {
+  void onReply(@SuppressWarnings("unused") ClickEvent e) {
     onReply();
   }
 
@@ -572,17 +572,17 @@
   }
 
   @UiHandler("editMessage")
-  void onEditMessage(ClickEvent e) {
+  void onEditMessage(@SuppressWarnings("unused") ClickEvent e) {
     editMessageAction.onEdit();
   }
 
   @UiHandler("openAll")
-  void onOpenAll(ClickEvent e) {
+  void onOpenAll(@SuppressWarnings("unused") ClickEvent e) {
     files.openAll();
   }
 
   @UiHandler("editMode")
-  void onEditMode(ClickEvent e) {
+  void onEditMode(@SuppressWarnings("unused") ClickEvent e) {
     fileTableMode = FileTable.Mode.EDIT;
     refreshFileTable();
     editMode.setVisible(false);
@@ -591,7 +591,7 @@
   }
 
   @UiHandler("reviewMode")
-  void onReviewMode(ClickEvent e) {
+  void onReviewMode(@SuppressWarnings("unused") ClickEvent e) {
     fileTableMode = FileTable.Mode.REVIEW;
     refreshFileTable();
     editMode.setVisible(true);
@@ -600,7 +600,7 @@
   }
 
   @UiHandler("addFile")
-  void onAddFile(ClickEvent e) {
+  void onAddFile(@SuppressWarnings("unused") ClickEvent e) {
     editFileAction.onEdit();
   }
 
@@ -613,7 +613,7 @@
   }
 
   @UiHandler("expandAll")
-  void onExpandAll(ClickEvent e) {
+  void onExpandAll(@SuppressWarnings("unused") ClickEvent e) {
     int n = history.getWidgetCount();
     for (int i = 0; i < n; i++) {
       ((Message) history.getWidget(i)).setOpen(true);
@@ -623,7 +623,7 @@
   }
 
   @UiHandler("collapseAll")
-  void onCollapseAll(ClickEvent e) {
+  void onCollapseAll(@SuppressWarnings("unused") ClickEvent e) {
     int n = history.getWidgetCount();
     for (int i = 0; i < n; i++) {
       ((Message) history.getWidget(i)).setOpen(false);
@@ -633,7 +633,7 @@
   }
 
   @UiHandler("diffBase")
-  void onChangeRevision(ChangeEvent e) {
+  void onChangeRevision(@SuppressWarnings("unused") ChangeEvent e) {
     int idx = diffBase.getSelectedIndex();
     if (0 <= idx) {
       String n = diffBase.getValue(idx);
@@ -1077,6 +1077,7 @@
           Gerrit.display(PageLinks.toChange(changeId));
         }
 
+        @Override
         void onIgnore(Timestamp newTime) {
           lastDisplayedUpdate = newTime;
         }
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/CommitBox.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/CommitBox.java
index 1705675..5bb4639 100644
--- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/CommitBox.java
+++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/CommitBox.java
@@ -87,7 +87,7 @@
   }
 
   @UiHandler("more")
-  void onMore(ClickEvent e) {
+  void onMore(@SuppressWarnings("unused") ClickEvent e) {
     if (expanded) {
       removeStyleName(style.expanded());
       addStyleName(style.collapsed());
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/DownloadAction.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/DownloadAction.java
index 891cc10..5b273d3 100644
--- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/DownloadAction.java
+++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/DownloadAction.java
@@ -34,6 +34,7 @@
             info.revision(revision)._number()));
   }
 
+  @Override
   Widget getWidget() {
     return downloadBox;
   }
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/DraftActions.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/DraftActions.java
index d0666c6..8654a62 100644
--- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/DraftActions.java
+++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/DraftActions.java
@@ -40,10 +40,12 @@
   public static GerritCallback<JavaScriptObject> cs(
       final Change.Id id) {
     return new GerritCallback<JavaScriptObject>() {
+      @Override
       public void onSuccess(JavaScriptObject result) {
         Gerrit.display(PageLinks.toChange(id));
       }
 
+      @Override
       public void onFailure(Throwable err) {
         if (SubmitFailureDialog.isConflict(err)) {
           new SubmitFailureDialog(err.getMessage()).center();
@@ -57,10 +59,12 @@
 
   private static AsyncCallback<JavaScriptObject> mine() {
     return new GerritCallback<JavaScriptObject>() {
+      @Override
       public void onSuccess(JavaScriptObject result) {
         Gerrit.display(PageLinks.MINE);
       }
 
+      @Override
       public void onFailure(Throwable err) {
         if (SubmitFailureDialog.isConflict(err)) {
           new SubmitFailureDialog(err.getMessage()).center();
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/EditActions.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/EditActions.java
index ec9a375..c93c4e3 100644
--- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/EditActions.java
+++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/EditActions.java
@@ -39,10 +39,12 @@
   public static GerritCallback<JavaScriptObject> cs(
       final Change.Id id) {
     return new GerritCallback<JavaScriptObject>() {
+      @Override
       public void onSuccess(JavaScriptObject result) {
         Gerrit.display(PageLinks.toChange(id));
       }
 
+      @Override
       public void onFailure(Throwable err) {
         if (SubmitFailureDialog.isConflict(err)) {
           new SubmitFailureDialog(err.getMessage()).center();
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/EditFileBox.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/EditFileBox.java
index cd5d5f1..9bf961e 100644
--- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/EditFileBox.java
+++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/EditFileBox.java
@@ -80,7 +80,7 @@
   }
 
   @UiHandler("save")
-  void onSave(ClickEvent e) {
+  void onSave(@SuppressWarnings("unused") ClickEvent e) {
     ChangeFileApi.putContent(id, file.getText(), content.getText(),
         new AsyncCallback<VoidResult>() {
           @Override
@@ -96,7 +96,7 @@
   }
 
   @UiHandler("cancel")
-  void onCancel(ClickEvent e) {
+  void onCancel(@SuppressWarnings("unused") ClickEvent e) {
     hide();
   }
 
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/EditMessageBox.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/EditMessageBox.java
index 264465d..5bb8148 100644
--- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/EditMessageBox.java
+++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/EditMessageBox.java
@@ -58,6 +58,7 @@
     message.getElement().setAttribute("wrap", "off");
     message.setText("");
     new TextBoxChangeListener(message) {
+      @Override
       public void onTextChanged(String newText) {
         save.setEnabled(!newText.trim()
             .equals(originalMessage));
@@ -79,7 +80,7 @@
   }
 
   @UiHandler("save")
-  void onSave(ClickEvent e) {
+  void onSave(@SuppressWarnings("unused") ClickEvent e) {
     save.setEnabled(false);
     ChangeApi.message(changeId.get(), revision, message.getText().trim(),
         new GerritCallback<JavaScriptObject>() {
@@ -92,7 +93,7 @@
   }
 
   @UiHandler("cancel")
-  void onCancel(ClickEvent e) {
+  void onCancel(@SuppressWarnings("unused") ClickEvent e) {
     message.setText("");
     hide();
   }
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/FileTable.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/FileTable.java
index d57a834..1e3dc2b 100644
--- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/FileTable.java
+++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/FileTable.java
@@ -93,6 +93,7 @@
 
   public static enum Mode {
     REVIEW,
+    @SuppressWarnings("hiding")
     EDIT
   }
 
@@ -460,7 +461,7 @@
 
   private final class DisplayCommand implements RepeatingCommand {
     private final SafeHtmlBuilder sb = new SafeHtmlBuilder();
-    private final MyTable table;
+    private final MyTable myTable;
     private final JsArray<FileInfo> list;
     private final Timestamp myLastReply;
     private final NativeMap<JsArray<CommentInfo>> comments;
@@ -482,16 +483,17 @@
         NativeMap<JsArray<CommentInfo>> comments,
         NativeMap<JsArray<CommentInfo>> drafts,
         Mode mode) {
-      this.table = new MyTable(map, list);
+      this.myTable = new MyTable(map, list);
       this.list = list;
       this.myLastReply = myLastReply;
       this.comments = comments;
       this.drafts = drafts;
       this.hasUser = Gerrit.isSignedIn();
       this.mode = mode;
-      table.addStyleName(R.css().table());
+      myTable.addStyleName(R.css().table());
     }
 
+    @Override
     public boolean execute() {
       boolean attachedNow = isAttached();
       if (!attached && attachedNow) {
@@ -519,9 +521,9 @@
         }
       }
       footer(sb);
-      table.resetHtml(sb);
-      table.finishDisplay();
-      setTable(table);
+      myTable.resetHtml(sb);
+      myTable.finishDisplay();
+      setTable(myTable);
       return false;
     }
 
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/FollowUpAction.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/FollowUpAction.java
index da41985..5a7df72 100644
--- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/FollowUpAction.java
+++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/FollowUpAction.java
@@ -33,6 +33,7 @@
     this.base = project + "~" + branch + "~" + key;
   }
 
+  @Override
   void send(String message) {
     ChangeApi.createChange(project, branch, message, base,
         new GerritCallback<ChangeInfo>() {
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/Hashtags.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/Hashtags.java
index bc84984..1e6192a 100644
--- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/Hashtags.java
+++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/Hashtags.java
@@ -128,7 +128,7 @@
   }
 
   @UiHandler("openForm")
-  void onOpenForm(ClickEvent e) {
+  void onOpenForm(@SuppressWarnings("unused") ClickEvent e) {
     onOpenForm();
   }
 
@@ -182,14 +182,14 @@
   }
 
   @UiHandler("cancel")
-  void onCancel(ClickEvent e) {
+  void onCancel(@SuppressWarnings("unused") ClickEvent e) {
     openForm.setVisible(true);
     UIObject.setVisible(form, false);
     hashtagTextBox.setFocus(false);
   }
 
   @UiHandler("add")
-  void onAdd(ClickEvent e) {
+  void onAdd(@SuppressWarnings("unused") ClickEvent e) {
     String hashtag = hashtagTextBox.getText();
     if (!hashtag.isEmpty()) {
       addHashtag(hashtag);
@@ -200,6 +200,7 @@
     ChangeApi.hashtags(changeId.get()).post(
         PostInput.create(hashtags, null),
         new GerritCallback<JsArrayString>() {
+          @Override
           public void onSuccess(JsArrayString result) {
             hashtagTextBox.setEnabled(true);
             UIObject.setVisible(error, false);
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/IncludedInAction.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/IncludedInAction.java
index 58b286c..d06ebaf 100644
--- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/IncludedInAction.java
+++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/IncludedInAction.java
@@ -30,6 +30,7 @@
     this.includedInBox = new IncludedInBox(changeId);
   }
 
+  @Override
   Widget getWidget() {
     return includedInBox;
   }
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/NewChangeScreenBar.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/NewChangeScreenBar.java
index fa65514..165ea68 100644
--- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/NewChangeScreenBar.java
+++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/NewChangeScreenBar.java
@@ -65,13 +65,13 @@
   }
 
   @UiHandler("keepOld")
-  void onKeepOld(ClickEvent e) {
+  void onKeepOld(@SuppressWarnings("unused") ClickEvent e) {
     save(ChangeScreen.OLD_UI);
     Gerrit.display(PageLinks.toChange(id));
   }
 
   @UiHandler("keepNew")
-  void onKeepNew(ClickEvent e) {
+  void onKeepNew(@SuppressWarnings("unused") ClickEvent e) {
     save(ChangeScreen.CHANGE_SCREEN2);
   }
 
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/PatchSetsAction.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/PatchSetsAction.java
index b29ca11..e5b1f99 100644
--- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/PatchSetsAction.java
+++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/PatchSetsAction.java
@@ -31,6 +31,7 @@
     this.revisionBox = new PatchSetsBox(changeId, revision);
   }
 
+  @Override
   Widget getWidget() {
     return revisionBox;
   }
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/RebaseAction.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/RebaseAction.java
index 2b1c250..b1ad583 100644
--- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/RebaseAction.java
+++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/RebaseAction.java
@@ -25,6 +25,7 @@
   static void call(final Change.Id id, String revision) {
     ChangeApi.rebase(id.get(), revision,
       new GerritCallback<ChangeInfo>() {
+        @Override
         public void onSuccess(ChangeInfo result) {
           Gerrit.display(PageLinks.toChange(id));
         }
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/RelatedChangesTab.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/RelatedChangesTab.java
index 4717ad0..591acc8 100644
--- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/RelatedChangesTab.java
+++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/RelatedChangesTab.java
@@ -200,6 +200,7 @@
       return false;
     }
 
+    @Override
     public boolean execute() {
       if (navList != view || !panel.isAttached()) {
         // If the user navigated away, we aren't in the DOM anymore.
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/ReplyBox.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/ReplyBox.java
index ddd650e..5eb936c 100644
--- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/ReplyBox.java
+++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/ReplyBox.java
@@ -188,7 +188,7 @@
   }
 
   @UiHandler("post")
-  void onPost(ClickEvent e) {
+  void onPost(@SuppressWarnings("unused") ClickEvent e) {
     postReview();
   }
 
@@ -214,7 +214,7 @@
   }
 
   @UiHandler("cancel")
-  void onCancel(ClickEvent e) {
+  void onCancel(@SuppressWarnings("unused") ClickEvent e) {
     message.setText("");
     hide();
   }
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/RestReviewerSuggestOracle.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/RestReviewerSuggestOracle.java
index b5a3023..3c544cf 100644
--- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/RestReviewerSuggestOracle.java
+++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/RestReviewerSuggestOracle.java
@@ -62,6 +62,7 @@
       this.reviewer = reviewer;
     }
 
+    @Override
     public String getDisplayString() {
       if (reviewer.account() != null) {
         return FormatUtil.nameEmail(reviewer.account());
@@ -72,6 +73,7 @@
           + ")";
     }
 
+    @Override
     public String getReplacementString() {
       if (reviewer.account() != null) {
         return FormatUtil.nameEmail(reviewer.account());
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/RestoreAction.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/RestoreAction.java
index 215f39d..5ec292b 100644
--- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/RestoreAction.java
+++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/RestoreAction.java
@@ -30,6 +30,7 @@
     this.id = id;
   }
 
+  @Override
   void send(String message) {
     ChangeApi.restore(id.get(), message, new GerritCallback<ChangeInfo>() {
       @Override
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/RevertAction.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/RevertAction.java
index 5f9f076..dd97d1c 100644
--- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/RevertAction.java
+++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/RevertAction.java
@@ -26,7 +26,7 @@
 
 class RevertAction {
   static void call(Button b, final Change.Id id, final String revision,
-      String project, final String commitSubject) {
+      final String commitSubject) {
     // TODO Replace ActionDialog with a nicer looking display.
     b.setEnabled(false);
     new ActionDialog(b, false,
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/Reviewers.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/Reviewers.java
index 10a140d..ae4834c 100644
--- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/Reviewers.java
+++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/Reviewers.java
@@ -127,7 +127,7 @@
   }
 
   @UiHandler("openForm")
-  void onOpenForm(ClickEvent e) {
+  void onOpenForm(@SuppressWarnings("unused") ClickEvent e) {
     onOpenForm();
   }
 
@@ -139,7 +139,7 @@
   }
 
   @UiHandler("add")
-  void onAdd(ClickEvent e) {
+  void onAdd(@SuppressWarnings("unused") ClickEvent e) {
     String reviewer = suggestBox.getText();
     if (!reviewer.isEmpty()) {
       addReviewer(reviewer, false);
@@ -147,13 +147,13 @@
   }
 
   @UiHandler("addme")
-  void onAddMe(ClickEvent e) {
+  void onAddMe(@SuppressWarnings("unused") ClickEvent e) {
     String accountId = String.valueOf(Gerrit.getUserAccountInfo()._account_id());
     addReviewer(accountId, false);
   }
 
   @UiHandler("cancel")
-  void onCancel(ClickEvent e) {
+  void onCancel(@SuppressWarnings("unused") ClickEvent e) {
     openForm.setVisible(true);
     UIObject.setVisible(form, false);
     suggestBox.setFocus(false);
@@ -163,6 +163,7 @@
     ChangeApi.reviewers(changeId.get()).post(
         PostInput.create(reviewer, confirmed),
         new GerritCallback<PostResult>() {
+          @Override
           public void onSuccess(PostResult result) {
             nameTxtBox.setEnabled(true);
 
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/SubmitAction.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/SubmitAction.java
index 4ca992b..31e43fe 100644
--- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/SubmitAction.java
+++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/SubmitAction.java
@@ -32,10 +32,12 @@
       ChangeApi.submit(
         changeId.get(), revisionInfo.name(),
         new GerritCallback<SubmitInfo>() {
+          @Override
           public void onSuccess(SubmitInfo result) {
             redisplay();
           }
 
+          @Override
           public void onFailure(Throwable err) {
             if (SubmitFailureDialog.isConflict(err)) {
               new SubmitFailureDialog(err.getMessage()).center();
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/Topic.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/Topic.java
index 512203a..21016e4 100644
--- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/Topic.java
+++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/Topic.java
@@ -105,7 +105,7 @@
   }
 
   @UiHandler("cancel")
-  void onCancel(ClickEvent e) {
+  void onCancel(@SuppressWarnings("unused") ClickEvent e) {
     input.setFocus(false);
     UIObject.setVisible(form, false);
   }
@@ -121,7 +121,7 @@
   }
 
   @UiHandler("save")
-  void onSave(ClickEvent e) {
+  void onSave(@SuppressWarnings("unused") ClickEvent e) {
     ChangeApi.topic(
         psId.getParentKey().get(),
         input.getValue().trim(),
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/UpdateAvailableBar.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/UpdateAvailableBar.java
index 2b6f418..cdbc693 100644
--- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/UpdateAvailableBar.java
+++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/UpdateAvailableBar.java
@@ -61,12 +61,12 @@
   }
 
   @UiHandler("show")
-  void onShow(ClickEvent e) {
+  void onShow(@SuppressWarnings("unused") ClickEvent e) {
     onShow();
   }
 
   @UiHandler("ignore")
-  void onIgnore(ClickEvent e) {
+  void onIgnore(@SuppressWarnings("unused") ClickEvent e) {
     onIgnore(updated);
     removeFromParent();
   }
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/changes/ApprovalTable.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/changes/ApprovalTable.java
index b41a082..bdc3142 100644
--- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/changes/ApprovalTable.java
+++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/changes/ApprovalTable.java
@@ -254,6 +254,7 @@
     ChangeApi.reviewers(lastChange.legacy_id().get()).post(
         PostInput.create(reviewer, confirmed),
         new GerritCallback<PostResult>() {
+          @Override
           public void onSuccess(PostResult result) {
             addMemberBox.setEnabled(true);
             addMemberBox.setText("");
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/changes/ChangeScreen.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/changes/ChangeScreen.java
index 5a6e96c..e950ad4 100644
--- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/changes/ChangeScreen.java
+++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/changes/ChangeScreen.java
@@ -313,6 +313,7 @@
               event.getValue().setSubmitTypeRecord(SubmitTypeRecord.OK(
                   SubmitType.valueOf(result.asString())));
             }
+            @Override
             public void onFailure(Throwable caught) {}
           }));
       }
@@ -388,7 +389,9 @@
                   ListChangesOption.CURRENT_REVISION));
                 call.get(cbs2.add(new AsyncCallback<
                     com.google.gerrit.client.changes.ChangeInfo>() {
+                  @Override
                   public void onFailure(Throwable caught) {}
+                  @Override
                   public void onSuccess(
                       com.google.gerrit.client.changes.ChangeInfo result) {
                     i.set(ChangeDetailCache.toChange(result),
@@ -398,6 +401,7 @@
                         .merge(ChangeDetailCache.users(result));
                   }}));
               }
+              @Override
               public void onFailure(Throwable caught) {}
             }));
         ChangeApi.revision(changeId.get(), revId)
@@ -416,6 +420,7 @@
                   p.setReviewedByCurrentUser(true);
                 }
               }
+              @Override
               public void onFailure(Throwable caught) {}
             }));
         final Set<PatchSet.Id> withDrafts = new HashSet<>();
@@ -432,6 +437,7 @@
                     withDrafts.add(id);
                   }
                 }
+                @Override
                 public void onFailure(Throwable caught) {}
               }));
           }
@@ -453,6 +459,7 @@
                 withDrafts.add(psId);
               }
             }
+            @Override
             public void onFailure(Throwable caught) {}
           }));
       }
@@ -470,6 +477,7 @@
               p.setCommentCount(result.get(path).length());
             }
           }
+          @Override
           public void onFailure(Throwable caught) {}
         }));
       DiffApi.list(changeId.get(), null, revId,
@@ -497,6 +505,7 @@
               }
               event.getValue().getCurrentPatchSetDetail().setPatches(list);
             }
+            @Override
             public void onFailure(Throwable caught) {}
       });
       ConfigInfoCache.get(
@@ -524,6 +533,7 @@
                 public void onSuccess(Void result) {
                   display(event.getValue());
                 }
+                @Override
                 public void onFailure(Throwable caught) {}
               }).onSuccess(null);
             }
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/changes/CommitMessageBlock.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/changes/CommitMessageBlock.java
index 1f66b72..f8febb7 100644
--- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/changes/CommitMessageBlock.java
+++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/changes/CommitMessageBlock.java
@@ -87,6 +87,7 @@
       sendButton.setEnabled(false);
 
       new TextBoxChangeListener(message) {
+        @Override
         public void onTextChanged(String newText) {
           // Trim the new text so we don't consider trailing
           // newlines as changes
@@ -95,6 +96,7 @@
       };
     }
 
+    @Override
     public String getMessageText() {
       // As we rely on commit message lines ending in LF, we convert CRLF to
       // LF. Additionally, the commit message should be trimmed to remove any
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/changes/DashboardTable.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/changes/DashboardTable.java
index 53c5c6d..3b9cfc0 100644
--- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/changes/DashboardTable.java
+++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/changes/DashboardTable.java
@@ -96,6 +96,7 @@
     return unlimitedQuery.toString().trim();
   }
 
+  @Override
   public String getTitle() {
     return title;
   }
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/changes/PatchSetComplexDisclosurePanel.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/changes/PatchSetComplexDisclosurePanel.java
index b7a0ec8..3cddab7 100644
--- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/changes/PatchSetComplexDisclosurePanel.java
+++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/changes/PatchSetComplexDisclosurePanel.java
@@ -319,10 +319,12 @@
               patchSet.getId().getParentKey().get(),
               patchSet.getRevision().get(),
               new GerritCallback<SubmitInfo>() {
+                  @Override
                   public void onSuccess(SubmitInfo result) {
                     redisplay();
                   }
 
+                  @Override
                   public void onFailure(Throwable err) {
                     if (SubmitFailureDialog.isConflict(err)) {
                       new SubmitFailureDialog(err.getMessage()).center();
@@ -480,10 +482,12 @@
           b.setEnabled(false);
           ChangeApi.deleteChange(patchSet.getId().getParentKey().get(),
               new GerritCallback<JavaScriptObject>() {
+            @Override
             public void onSuccess(JavaScriptObject result) {
               Gerrit.display(PageLinks.MINE);
             }
 
+            @Override
             public void onFailure(Throwable err) {
               if (SubmitFailureDialog.isConflict(err)) {
                 new SubmitFailureDialog(err.getMessage()).center();
@@ -545,6 +549,7 @@
           final Change.Id id = patchSet.getId().getParentKey();
           ChangeApi.rebase(id.get(), patchSet.getRevision().get(),
               new GerritCallback<ChangeInfo>() {
+                @Override
                 public void onSuccess(ChangeInfo result) {
                   Gerrit.display(PageLinks.toChange(id));
                 }
@@ -691,6 +696,7 @@
 
       Util.DETAIL_SVC.patchSetDetail2(diffBaseId, patchSet.getId(), diffPrefs,
           new GerritCallback<PatchSetDetail>() {
+            @Override
             public void onSuccess(final PatchSetDetail result) {
               loadInfoTable(result);
               loadActionPanel(result);
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/changes/PatchTable.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/changes/PatchTable.java
index 4c46f4c..2666827 100644
--- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/changes/PatchTable.java
+++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/changes/PatchTable.java
@@ -455,6 +455,7 @@
       int C_UNIFIED = C_SIDEBYSIDE - 2 + 1;
       Anchor unified = new Anchor(Util.C.diffAllUnified());
       unified.addClickHandler(new ClickHandler() {
+        @Override
         public void onClick(ClickEvent event) {
           for (Patch p : detail.getPatches()) {
             openWindow(Dispatcher.toPatchUnified(base, p.getKey()));
@@ -742,6 +743,7 @@
     /**
      * Add the files contained in the list of patches to the table, one per row.
      */
+    @Override
     @SuppressWarnings("fallthrough")
     public boolean execute() {
       final boolean attachedNow = isAttached();
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/changes/PublishCommentScreen.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/changes/PublishCommentScreen.java
index f718b5d..e839717 100644
--- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/changes/PublishCommentScreen.java
+++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/changes/PublishCommentScreen.java
@@ -171,6 +171,7 @@
           submitTypeRecord = SubmitTypeRecord.OK(
               SubmitType.valueOf(result.asString()));
         }
+        @Override
         public void onFailure(Throwable caught) {}
       }));
     ChangeApi.revision(patchSetId.getParentKey().get(), "" + patchSetId.get())
@@ -180,6 +181,7 @@
         public void onSuccess(NativeMap<JsArray<CommentInfo>> result) {
           drafts = result;
         }
+        @Override
         public void onFailure(Throwable caught) {}
       }));
     ChangeApi.revision(patchSetId).view("review")
@@ -445,6 +447,7 @@
       patchSetId.getParentKey().get(),
       "" + patchSetId.get(),
       new GerritCallback<SubmitInfo>() {
+          @Override
           public void onSuccess(SubmitInfo result) {
             saveStateOnUnload = false;
             goChange();
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/diff/ChunkManager.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/diff/ChunkManager.java
index dcea18c..bb3d3ed 100644
--- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/diff/ChunkManager.java
+++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/diff/ChunkManager.java
@@ -65,7 +65,7 @@
         event.stopPropagation();
       }
     }
-  };
+  }
 
   static void focusOnClick(Element e, DisplaySide side) {
     onClick(e, side == A ? focusA : focusB);
@@ -165,10 +165,10 @@
     int endA = mapper.getLineA() - 1;
     int endB = mapper.getLineB() - 1;
     if (aLen > 0) {
-      addDiffChunk(cmB, endB, endA, aLen, bLen > 0);
+      addDiffChunk(cmB, endA, aLen, bLen > 0);
     }
     if (bLen > 0) {
-      addDiffChunk(cmA, endA, endB, bLen, aLen > 0);
+      addDiffChunk(cmA, endB, bLen, aLen > 0);
     }
   }
 
@@ -264,8 +264,8 @@
     }
   }
 
-  private void addDiffChunk(CodeMirror cmToPad, int lineToPad,
-      int lineOnOther, int chunkSize, boolean edit) {
+  private void addDiffChunk(CodeMirror cmToPad, int lineOnOther,
+      int chunkSize, boolean edit) {
     chunks.add(new DiffChunkInfo(host.otherCm(cmToPad).side(),
         lineOnOther - chunkSize + 1, lineOnOther, edit));
   }
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/diff/CommentManager.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/diff/CommentManager.java
index 5d5662b..77c93a7 100644
--- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/diff/CommentManager.java
+++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/diff/CommentManager.java
@@ -295,6 +295,7 @@
 
   Runnable toggleOpenBox(final CodeMirror cm) {
     return new Runnable() {
+      @Override
       public void run() {
         if (cm.hasActiveLine()) {
           CommentGroup w = map(cm.side()).get(
@@ -339,6 +340,7 @@
     }
 
     return new Runnable() {
+      @Override
       public void run() {
         if (cm.hasActiveLine()) {
           newDraft(cm);
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/diff/DraftBox.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/diff/DraftBox.java
index 6b0d69a..2793d01 100644
--- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/diff/DraftBox.java
+++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/diff/DraftBox.java
@@ -253,7 +253,7 @@
   }
 
   @UiHandler("message")
-  void onMessageDoubleClick(DoubleClickEvent e) {
+  void onMessageDoubleClick(@SuppressWarnings("unused") DoubleClickEvent e) {
     setEdit(true);
   }
 
@@ -389,7 +389,7 @@
   }
 
   @UiHandler("editArea")
-  void onBlur(BlurEvent e) {
+  void onBlur(@SuppressWarnings("unused") BlurEvent e) {
     resizeTimer.cancel();
   }
 
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/diff/Header.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/diff/Header.java
index 212af9a..3772b01 100644
--- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/diff/Header.java
+++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/diff/Header.java
@@ -242,7 +242,7 @@
   }
 
   @UiHandler("preferences")
-  void onPreferences(ClickEvent e) {
+  void onPreferences(@SuppressWarnings("unused") ClickEvent e) {
     prefsAction.show();
   }
 
@@ -281,6 +281,7 @@
 
   Runnable toggleReviewed() {
     return new Runnable() {
+      @Override
       public void run() {
         reviewed.setValue(!reviewed.getValue(), true);
       }
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/diff/PatchSetSelectBox2.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/diff/PatchSetSelectBox2.java
index 2650a1e..4e336e1 100644
--- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/diff/PatchSetSelectBox2.java
+++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/diff/PatchSetSelectBox2.java
@@ -193,7 +193,7 @@
   }
 
   @UiHandler("icon")
-  void onIconClick(ClickEvent e) {
+  void onIconClick(@SuppressWarnings("unused") ClickEvent e) {
     parent.getCmFromSide(side).scrollToY(0);
     parent.getCommentManager().insertNewDraft(side, 0);
   }
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/diff/PreferencesBox.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/diff/PreferencesBox.java
index 0978d13..9ea5c8d 100644
--- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/diff/PreferencesBox.java
+++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/diff/PreferencesBox.java
@@ -194,7 +194,7 @@
   }
 
   @UiHandler("ignoreWhitespace")
-  void onIgnoreWhitespace(ChangeEvent e) {
+  void onIgnoreWhitespace(@SuppressWarnings("unused") ChangeEvent e) {
     prefs.ignoreWhitespace(Whitespace.valueOf(
         ignoreWhitespace.getValue(ignoreWhitespace.getSelectedIndex())));
     view.reloadDiffInfo();
@@ -347,7 +347,7 @@
   }
 
   @UiHandler("mode")
-  void onMode(ChangeEvent e) {
+  void onMode(@SuppressWarnings("unused") ChangeEvent e) {
     final String m = mode.getValue(mode.getSelectedIndex());
     prefs.syntaxHighlighting(true);
     syntaxHighlighting.setValue(true, false);
@@ -389,7 +389,7 @@
   }
 
   @UiHandler("theme")
-  void onTheme(ChangeEvent e) {
+  void onTheme(@SuppressWarnings("unused") ChangeEvent e) {
     prefs.theme(Theme.valueOf(theme.getValue(theme.getSelectedIndex())));
     view.setThemeStyles(prefs.theme().isDark());
     view.operation(new Runnable() {
@@ -403,12 +403,12 @@
   }
 
   @UiHandler("apply")
-  void onApply(ClickEvent e) {
+  void onApply(@SuppressWarnings("unused") ClickEvent e) {
     close();
   }
 
   @UiHandler("save")
-  void onSave(ClickEvent e) {
+  void onSave(@SuppressWarnings("unused") ClickEvent e) {
     AccountApi.putDiffPreferences(prefs, new GerritCallback<DiffPreferences>() {
       @Override
       public void onSuccess(DiffPreferences result) {
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/diff/PublishedBox.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/diff/PublishedBox.java
index f5f2891..8c5f2a8 100644
--- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/diff/PublishedBox.java
+++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/diff/PublishedBox.java
@@ -109,6 +109,7 @@
     return UIObject.isVisible(message);
   }
 
+  @Override
   void setOpen(boolean open) {
     UIObject.setVisible(summary, !open);
     UIObject.setVisible(message, open);
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/diff/SideBySide2.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/diff/SideBySide2.java
index 742c608..afcdf1f 100644
--- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/diff/SideBySide2.java
+++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/diff/SideBySide2.java
@@ -363,6 +363,7 @@
         .on("Shift-Left", moveCursorToSide(cm, DisplaySide.A))
         .on("Shift-Right", moveCursorToSide(cm, DisplaySide.B))
         .on("I", new Runnable() {
+          @Override
           public void run() {
             switch (getIntraLineStatus()) {
               case OFF:
@@ -594,6 +595,7 @@
     }
 
     operation(new Runnable() {
+      @Override
       public void run() {
         // Estimate initial CM3 height, fixed up in onShowView.
         int height = Window.getClientHeight()
@@ -783,6 +785,7 @@
   private Runnable updateActiveLine(final CodeMirror cm) {
     final CodeMirror other = otherCm(cm);
     return new Runnable() {
+      @Override
       public void run() {
         // The rendering of active lines has to be deferred. Reflow
         // caused by adding and removing styles chokes Firefox when arrow
@@ -793,6 +796,7 @@
           @Override
           public void execute() {
             operation(new Runnable() {
+              @Override
               public void run() {
                 LineHandle handle = cm.getLineHandleVisualStart(
                     cm.getCursor("end").getLine());
@@ -848,6 +852,7 @@
 
   private Runnable upToChange(final boolean openReplyBox) {
     return new Runnable() {
+      @Override
       public void run() {
         CallbackGroup group = new CallbackGroup();
         commentManager.saveAllDrafts(group);
@@ -879,6 +884,7 @@
 
     final DisplaySide sideSrc = cmSrc.side();
     return new Runnable() {
+      @Override
       public void run() {
         if (cmSrc.hasActiveLine()) {
           cmDst.setCursor(LineCharacter.create(lineOnOther(
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/diff/SkipBar.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/diff/SkipBar.java
index 4efaf54..c69bc07 100644
--- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/diff/SkipBar.java
+++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/diff/SkipBar.java
@@ -174,7 +174,7 @@
   }
 
   @UiHandler("skipNum")
-  void onExpandAll(ClickEvent e) {
+  void onExpandAll(@SuppressWarnings("unused") ClickEvent e) {
     expandAll();
     updateSelection();
     otherBar.updateSelection();
@@ -189,13 +189,13 @@
   }
 
   @UiHandler("upArrow")
-  void onExpandBefore(ClickEvent e) {
+  void onExpandBefore(@SuppressWarnings("unused") ClickEvent e) {
     expandBefore(NUM_ROWS_TO_EXPAND);
     cm.focus();
   }
 
   @UiHandler("downArrow")
-  void onExpandAfter(ClickEvent e) {
+  void onExpandAfter(@SuppressWarnings("unused") ClickEvent e) {
     expandAfter();
     otherBar.expandAfter();
     manager.getOverviewBar().refresh();
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/patches/AbstractPatchContentTable.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/patches/AbstractPatchContentTable.java
index 26dd173..cc37075 100644
--- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/patches/AbstractPatchContentTable.java
+++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/patches/AbstractPatchContentTable.java
@@ -541,6 +541,11 @@
     }
   }
 
+  /**
+   * Update cursor after selecting a comment.
+   *
+   * @param newComment comment that was selected.
+   */
   protected void updateCursor(final PatchLineComment newComment) {
   }
 
@@ -724,7 +729,7 @@
   }
 
   protected void bindComment(final int row, final int col,
-      final PatchLineComment line, final boolean isLast, boolean expandComment) {
+      final PatchLineComment line, boolean expandComment) {
     if (line.getStatus() == PatchLineComment.Status.DRAFT) {
       final CommentEditorPanel plc =
           new CommentEditorPanel(line, commentLinkProcessor);
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/patches/CommentEditorPanel.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/patches/CommentEditorPanel.java
index 32302f4..e9832c3 100644
--- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/patches/CommentEditorPanel.java
+++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/patches/CommentEditorPanel.java
@@ -245,6 +245,7 @@
     final PatchSet.Id psId = comment.getKey().getParentKey().getParentKey();
     final boolean wasNew = isNew();
     GerritCallback<CommentInfo> cb = new GerritCallback<CommentInfo>() {
+      @Override
       public void onSuccess(CommentInfo result) {
         notifyDraftDelta(wasNew ? 1 : 0);
         comment = toComment(psId, comment.getKey().getParentKey().get(), result);
@@ -300,6 +301,7 @@
         comment.getKey().getParentKey().getParentKey(),
         comment.getKey().get(),
         new GerritCallback<JavaScriptObject>() {
+          @Override
           public void onSuccess(JavaScriptObject result) {
             notifyDraftDelta(-1);
             removeUI();
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/patches/PatchScreen.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/patches/PatchScreen.java
index ad96f24..1024a98 100644
--- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/patches/PatchScreen.java
+++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/patches/PatchScreen.java
@@ -564,6 +564,7 @@
         fileList.setSavePointerId("PatchTable " + psid);
         Util.DETAIL_SVC.patchSetDetail(psid,
             new GerritCallback<PatchSetDetail>() {
+              @Override
               public void onSuccess(final PatchSetDetail result) {
                 fileList.display(idSideA, result);
               }
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/patches/PatchScriptSettingsPanel.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/patches/PatchScriptSettingsPanel.java
index 2fe2d45..264e043 100644
--- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/patches/PatchScriptSettingsPanel.java
+++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/patches/PatchScriptSettingsPanel.java
@@ -230,12 +230,12 @@
   }
 
   @UiHandler("update")
-  void onUpdate(ClickEvent event) {
+  void onUpdate(@SuppressWarnings("unused") ClickEvent event) {
     update();
   }
 
   @UiHandler("save")
-  void onSave(ClickEvent event) {
+  void onSave(@SuppressWarnings("unused") ClickEvent event) {
     save();
   }
 
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/patches/ReviewedPanels.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/patches/ReviewedPanels.java
index 68df45d..b445fca 100644
--- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/patches/ReviewedPanels.java
+++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/patches/ReviewedPanels.java
@@ -135,6 +135,7 @@
   private InlineHyperlink createReviewedLink(final int patchIndex,
       final PatchScreen.Type patchScreenType) {
     final PatchValidator unreviewedValidator = new PatchValidator() {
+      @Override
       public boolean isValid(Patch patch) {
         return !patch.isReviewedByCurrentUser();
       }
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/patches/SideBySideTable.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/patches/SideBySideTable.java
index 2d58816..8835904 100644
--- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/patches/SideBySideTable.java
+++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/patches/SideBySideTable.java
@@ -57,10 +57,12 @@
   private boolean isHugeFile;
   protected boolean isFileCommentBorderRowExist;
 
+  @Override
   protected void createFileCommentEditorOnSideA() {
     createCommentEditor(R_HEAD + 1, A, R_HEAD, FILE_SIDE_A);
   }
 
+  @Override
   protected void createFileCommentEditorOnSideB() {
     createCommentEditor(R_HEAD + 1, B, R_HEAD, FILE_SIDE_B);
   }
@@ -96,7 +98,7 @@
     final ArrayList<Object> lines = new ArrayList<>();
     final SafeHtmlBuilder nc = new SafeHtmlBuilder();
     isHugeFile = script.isHugeFile();
-    allocateTableHeader(script, nc);
+    allocateTableHeader(nc);
     lines.add(null);
     if (!isDisplayBinary) {
       if (script.getFileModeA() != FileMode.FILE
@@ -119,7 +121,7 @@
                 && script.hasIntralineDifference();
         for (final EditList.Hunk hunk : script.getHunks()) {
           if (!hunk.isStartOfFile()) {
-            appendSkipLine(nc, hunk.getCurB() - lastB);
+            appendSkipLine(nc);
             lines.add(new SkippedLine(lastA, lastB, hunk.getCurB() - lastB));
           }
 
@@ -185,7 +187,7 @@
           lastB = hunk.getCurB();
         }
         if (lastB != b.size()) {
-          appendSkipLine(nc, b.size() - lastB);
+          appendSkipLine(nc);
           lines.add(new SkippedLine(lastA, lastB, b.size() - lastB));
         }
       }
@@ -329,13 +331,13 @@
         } else {
           insertRow(row);
         }
-        bindComment(row, A, ac, !ai.hasNext(), expandComments);
-        bindComment(row, B, bc, !bi.hasNext(), expandComments);
+        bindComment(row, A, ac, !ai.hasNext());
+        bindComment(row, B, bc, !bi.hasNext());
         row++;
       }
 
-      row = finish(ai, row, A, expandComments);
-      row = finish(bi, row, B, expandComments);
+      row = finish(ai, row, A);
+      row = finish(bi, row, B);
     }
   }
 
@@ -390,7 +392,7 @@
     }
   }
 
-  private int finish(final Iterator<PatchLineComment> i, int row, final int col, boolean expandComment) {
+  private int finish(final Iterator<PatchLineComment> i, int row, final int col) {
     while (i.hasNext()) {
       final PatchLineComment c = i.next();
       if (c.getLine() == R_HEAD) {
@@ -398,13 +400,13 @@
       } else {
         insertRow(row);
       }
-      bindComment(row, col, c, !i.hasNext(), expandComment);
+      bindComment(row, col, c, !i.hasNext());
       row++;
     }
     return row;
   }
 
-  private void allocateTableHeader(PatchScript script, final SafeHtmlBuilder m) {
+  private void allocateTableHeader(final SafeHtmlBuilder m) {
     m.openTr();
 
     m.openTd();
@@ -457,7 +459,7 @@
     m.closeTr();
   }
 
-  private void appendSkipLine(final SafeHtmlBuilder m, final int skipCnt) {
+  private void appendSkipLine(final SafeHtmlBuilder m) {
     m.openTr();
 
     m.openTd();
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/patches/UnifiedDiffTable.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/patches/UnifiedDiffTable.java
index 9ec4a8b..2562ce1 100644
--- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/patches/UnifiedDiffTable.java
+++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/patches/UnifiedDiffTable.java
@@ -46,6 +46,7 @@
   private static final int PC = 3;
   private static final Comparator<PatchLineComment> BY_DATE =
       new Comparator<PatchLineComment>() {
+        @Override
         public int compare(final PatchLineComment o1, final PatchLineComment o2) {
           return o1.getWrittenOn().compareTo(o2.getWrittenOn());
         }
@@ -164,10 +165,12 @@
     nc.closeElement("img");
   }
 
+  @Override
   protected void createFileCommentEditorOnSideA() {
     createCommentEditor(R_HEAD + 1, PC, R_HEAD, FILE_SIDE_A);
   }
 
+  @Override
   protected void createFileCommentEditorOnSideB() {
     createCommentEditor(rowOfTableHeaderB + 1, PC, R_HEAD, FILE_SIDE_B);
     createFileCommentBorderRow();
@@ -367,13 +370,13 @@
         row++;
 
         if (!fora.isEmpty()) {
-          row = insert(fora, row, expandComments);
+          row = insert(fora, row);
         }
         rowOfTableHeaderB = row;
         borderRowOfFileComment = row + 1;
         if (!forb.isEmpty()) {
           row++;// Skip the Header of sideB.
-          row = insert(forb, row, expandComments);
+          row = insert(forb, row);
           borderRowOfFileComment = row;
           createFileCommentBorderRow();
         }
@@ -388,13 +391,13 @@
           all.addAll(fora);
           all.addAll(forb);
           Collections.sort(all, BY_DATE);
-          row = insert(all, row, expandComments);
+          row = insert(all, row);
 
         } else if (!fora.isEmpty()) {
-          row = insert(fora, row, expandComments);
+          row = insert(fora, row);
 
         } else if (!forb.isEmpty()) {
-          row = insert(forb, row, expandComments);
+          row = insert(forb, row);
         }
       } else {
         row++;
@@ -422,7 +425,7 @@
     return PatchScreen.Type.UNIFIED;
   }
 
-  private int insert(final List<PatchLineComment> in, int row, boolean expandComment) {
+  private int insert(final List<PatchLineComment> in, int row) {
     for (Iterator<PatchLineComment> ci = in.iterator(); ci.hasNext();) {
       final PatchLineComment c = ci.next();
       if (c.getLine() == R_HEAD) {
@@ -430,7 +433,7 @@
       } else {
         insertRow(row);
       }
-      bindComment(row, PC, c, !ci.hasNext(), expandComment);
+      bindComment(row, PC, c, !ci.hasNext());
       row++;
     }
     return row;
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/rpc/GerritCallback.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/rpc/GerritCallback.java
index 06d1f0b..08ff7d9 100644
--- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/rpc/GerritCallback.java
+++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/rpc/GerritCallback.java
@@ -33,6 +33,7 @@
 public abstract class GerritCallback<T> implements
     com.google.gwtjsonrpc.common.AsyncCallback<T>,
     com.google.gwt.user.client.rpc.AsyncCallback<T> {
+  @Override
   public void onFailure(final Throwable caught) {
     if (isNotSignedIn(caught) || isInvalidXSRF(caught)) {
       new NotSignedInDialog().center();
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/rpc/ScreenLoadCallback.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/rpc/ScreenLoadCallback.java
index b8b9209..8128afe 100644
--- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/rpc/ScreenLoadCallback.java
+++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/rpc/ScreenLoadCallback.java
@@ -28,6 +28,7 @@
     screen = s;
   }
 
+  @Override
   public final void onSuccess(final T result) {
     if (screen.isAttached()) {
       preDisplay(result);
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/ui/AccountGroupSuggestOracle.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/ui/AccountGroupSuggestOracle.java
index 6046995..5f4081b 100644
--- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/ui/AccountGroupSuggestOracle.java
+++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/ui/AccountGroupSuggestOracle.java
@@ -35,10 +35,12 @@
   @Override
   public void _onRequestSuggestions(final Request req, final Callback callback) {
     RpcStatus.hide(new Runnable() {
+      @Override
       public void run() {
         SuggestUtil.SVC.suggestAccountGroupForProject(
             projectName, req.getQuery(), req.getLimit(),
             new GerritCallback<List<GroupReference>>() {
+              @Override
               public void onSuccess(final List<GroupReference> result) {
                 priorResults.clear();
                 final ArrayList<AccountGroupSuggestion> r =
@@ -66,10 +68,12 @@
       info = k;
     }
 
+    @Override
     public String getDisplayString() {
       return info.getName();
     }
 
+    @Override
     public String getReplacementString() {
       return info.getName();
     }
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/ui/AccountSuggestOracle.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/ui/AccountSuggestOracle.java
index 4ffcd18..ac73dd2 100644
--- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/ui/AccountSuggestOracle.java
+++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/ui/AccountSuggestOracle.java
@@ -28,10 +28,12 @@
   @Override
   public void _onRequestSuggestions(final Request req, final Callback callback) {
     RpcStatus.hide(new Runnable() {
+      @Override
       public void run() {
         SuggestUtil.SVC.suggestAccount(req.getQuery(), Boolean.TRUE,
             req.getLimit(),
             new GerritCallback<List<AccountInfo>>() {
+              @Override
               public void onSuccess(final List<AccountInfo> result) {
                 final ArrayList<AccountSuggestion> r =
                     new ArrayList<>(result.size());
@@ -52,10 +54,12 @@
       info = k;
     }
 
+    @Override
     public String getDisplayString() {
       return FormatUtil.nameEmail(FormatUtil.asInfo(info));
     }
 
+    @Override
     public String getReplacementString() {
       return FormatUtil.nameEmail(FormatUtil.asInfo(info));
     }
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/ui/CommentPanel.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/ui/CommentPanel.java
index bb50b19c..748cd3c 100644
--- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/ui/CommentPanel.java
+++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/ui/CommentPanel.java
@@ -257,6 +257,7 @@
 
   private static class DoubleClickHTML extends HTML implements
       HasDoubleClickHandlers {
+    @Override
     public HandlerRegistration addDoubleClickHandler(DoubleClickHandler handler) {
       return addDomHandler(handler, DoubleClickEvent.getType());
     }
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/ui/ExpandAllCommand.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/ui/ExpandAllCommand.java
index 43721d1..9abf135 100644
--- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/ui/ExpandAllCommand.java
+++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/ui/ExpandAllCommand.java
@@ -28,6 +28,7 @@
     open = isOpen;
   }
 
+  @Override
   public void execute() {
     for (final Widget w : panel) {
       if (w instanceof CommentPanel) {
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/ui/HintTextBox.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/ui/HintTextBox.java
index 09550a6..2ec6cd93 100644
--- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/ui/HintTextBox.java
+++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/ui/HintTextBox.java
@@ -43,6 +43,7 @@
   private boolean isFocused;
 
 
+  @Override
   public String getText() {
     if (hintOn) {
       return "";
@@ -50,6 +51,7 @@
     return super.getText();
   }
 
+  @Override
   public void setText(String text) {
     focusHint();
 
@@ -196,6 +198,7 @@
     }
   }
 
+  @Override
   public void setFocus(boolean focus) {
     super.setFocus(focus);
 
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/ui/LinkMenuBar.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/ui/LinkMenuBar.java
index deca808..4f7d419 100644
--- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/ui/LinkMenuBar.java
+++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/ui/LinkMenuBar.java
@@ -86,6 +86,7 @@
     return body.getWidgetIndex(i);
   }
 
+  @Override
   public void onScreenLoad(ScreenLoadEvent event) {
   }
 }
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/ui/LinkMenuItem.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/ui/LinkMenuItem.java
index 29c053b..9cc91a0 100644
--- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/ui/LinkMenuItem.java
+++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/ui/LinkMenuItem.java
@@ -38,6 +38,7 @@
     this.bar = bar;
   }
 
+  @Override
   public void onScreenLoad(ScreenLoadEvent event) {
     if (match(event.getScreen().getToken())) {
       Gerrit.selectMenu(bar);
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/ui/ListenableOldValue.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/ui/ListenableOldValue.java
index 47bca2b..758dff4 100644
--- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/ui/ListenableOldValue.java
+++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/ui/ListenableOldValue.java
@@ -22,6 +22,7 @@
     return oldValue;
   }
 
+  @Override
   public void set(final T value) {
     try {
       oldValue = get();
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/ui/ListenableValue.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/ui/ListenableValue.java
index d834eb2..c8bb12e 100644
--- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/ui/ListenableValue.java
+++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/ui/ListenableValue.java
@@ -37,10 +37,12 @@
     fireEvent(new ValueChangeEvent<T>(value) {});
   }
 
+  @Override
   public void fireEvent(GwtEvent<?> event) {
     manager.fireEvent(event);
   }
 
+  @Override
   public HandlerRegistration addValueChangeHandler(
       ValueChangeHandler<T> handler) {
     return manager.addHandler(ValueChangeEvent.getType(), handler);
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/ui/NavigationTable.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/ui/NavigationTable.java
index 4a56558..91fedef 100644
--- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/ui/NavigationTable.java
+++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/ui/NavigationTable.java
@@ -139,12 +139,23 @@
     }
   }
 
-  /** Invoked when the user double clicks on a table cell. */
+  /**
+   * Invoked when the user double clicks on a table cell.
+   *
+   * @param row row number.
+   * @param column column number.
+   */
   protected void onCellDoubleClick(int row, int column) {
     onOpenRow(row);
   }
 
-  /** Invoked when the user clicks on a table cell. */
+  /**
+   * Invoked when the user clicks on a table cell.
+   *
+   * @param event click event.
+   * @param row row number.
+   * @param column column number.
+   */
   protected void onCellSingleClick(Event event, int row, int column) {
     movePointerTo(row);
   }
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/ui/ParentProjectBox.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/ui/ParentProjectBox.java
index 4bf8fef..e11d11c 100644
--- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/ui/ParentProjectBox.java
+++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/ui/ParentProjectBox.java
@@ -82,6 +82,7 @@
     @Override
     public void _onRequestSuggestions(Request req, final Callback callback) {
       super._onRequestSuggestions(req, new Callback() {
+        @Override
         public void onSuggestionsReady(Request request, Response response) {
           if (exclude.size() > 0) {
             Set<Suggestion> filteredSuggestions =
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/ui/ProjectListPopup.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/ui/ProjectListPopup.java
index cac7667..a6edb3b 100644
--- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/ui/ProjectListPopup.java
+++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/ui/ProjectListPopup.java
@@ -88,9 +88,19 @@
     };
   }
 
+  /**
+   * Invoked after moving pointer to a project.
+   *
+   * @param projectName project name.
+   */
   protected void onMovePointerTo(String projectName) {
   }
 
+  /**
+   * Invoked after opening a project row.
+   *
+   * @param projectName project name.
+   */
   protected void openRow(String projectName) {
   }
 
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/ui/RPCSuggestOracle.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/ui/RPCSuggestOracle.java
index 1068c3d..be58080 100644
--- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/ui/RPCSuggestOracle.java
+++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/ui/RPCSuggestOracle.java
@@ -28,6 +28,7 @@
   private SuggestOracle.Request request;
   private SuggestOracle.Callback callback;
   private SuggestOracle.Callback myCallback = new SuggestOracle.Callback() {
+      @Override
       public void onSuggestionsReady(SuggestOracle.Request req,
             SuggestOracle.Response response) {
           if (request == req) {
@@ -43,6 +44,7 @@
     oracle = ora;
   }
 
+  @Override
   public void requestSuggestions(SuggestOracle.Request req,
       SuggestOracle.Callback cb) {
     request = req;
@@ -50,6 +52,7 @@
     oracle.requestSuggestions(req, myCallback);
   }
 
+  @Override
   public boolean isDisplayStringHTML() {
     return oracle.isDisplayStringHTML();
   }
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/ui/ReviewerSuggestOracle.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/ui/ReviewerSuggestOracle.java
index 12506da..23c8b8f 100644
--- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/ui/ReviewerSuggestOracle.java
+++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/ui/ReviewerSuggestOracle.java
@@ -34,9 +34,11 @@
   @Override
   protected void _onRequestSuggestions(final Request req, final Callback callback) {
     RpcStatus.hide(new Runnable() {
+      @Override
       public void run() {
         SuggestUtil.SVC.suggestChangeReviewer(changeId, req.getQuery(),
             req.getLimit(), new GerritCallback<List<ReviewerInfo>>() {
+              @Override
               public void onSuccess(final List<ReviewerInfo> result) {
                 final List<ReviewerSuggestion> r =
                     new ArrayList<>(result.size());
@@ -61,6 +63,7 @@
       this.reviewerInfo = reviewerInfo;
     }
 
+    @Override
     public String getDisplayString() {
       final AccountInfo accountInfo = reviewerInfo.getAccountInfo();
       if (accountInfo != null) {
@@ -70,6 +73,7 @@
           + Util.C.suggestedGroupLabel() + ")";
     }
 
+    @Override
     public String getReplacementString() {
       final AccountInfo accountInfo = reviewerInfo.getAccountInfo();
       if (accountInfo != null) {
diff --git a/gerrit-httpd/src/main/java/com/google/gerrit/httpd/AdvertisedObjectsCacheKey.java b/gerrit-httpd/src/main/java/com/google/gerrit/httpd/AdvertisedObjectsCacheKey.java
index d594d77..22c862f 100644
--- a/gerrit-httpd/src/main/java/com/google/gerrit/httpd/AdvertisedObjectsCacheKey.java
+++ b/gerrit-httpd/src/main/java/com/google/gerrit/httpd/AdvertisedObjectsCacheKey.java
@@ -31,6 +31,7 @@
     return account.hashCode();
   }
 
+  @Override
   public boolean equals(Object other) {
     if (other instanceof AdvertisedObjectsCacheKey) {
       AdvertisedObjectsCacheKey o = (AdvertisedObjectsCacheKey) other;
diff --git a/gerrit-httpd/src/main/java/com/google/gerrit/httpd/HttpLogoutServlet.java b/gerrit-httpd/src/main/java/com/google/gerrit/httpd/HttpLogoutServlet.java
index bb9bac4..9ccdcfc 100644
--- a/gerrit-httpd/src/main/java/com/google/gerrit/httpd/HttpLogoutServlet.java
+++ b/gerrit-httpd/src/main/java/com/google/gerrit/httpd/HttpLogoutServlet.java
@@ -21,7 +21,6 @@
 import com.google.gerrit.common.TimeUtil;
 import com.google.gerrit.extensions.registration.DynamicItem;
 import com.google.gerrit.server.CurrentUser;
-import com.google.gerrit.server.account.AccountManager;
 import com.google.gerrit.server.config.AuthConfig;
 import com.google.gerrit.server.config.CanonicalWebUrl;
 import com.google.inject.Inject;
@@ -47,7 +46,6 @@
   HttpLogoutServlet(final AuthConfig authConfig,
       final DynamicItem<WebSession> webSession,
       @CanonicalWebUrl @Nullable final Provider<String> urlProvider,
-      final AccountManager accountManager,
       final AuditService audit) {
     this.webSession = webSession;
     this.urlProvider = urlProvider;
diff --git a/gerrit-httpd/src/main/java/com/google/gerrit/httpd/auth/become/BecomeAnyAccountLoginServlet.java b/gerrit-httpd/src/main/java/com/google/gerrit/httpd/auth/become/BecomeAnyAccountLoginServlet.java
index 2a3a76b..0349656 100644
--- a/gerrit-httpd/src/main/java/com/google/gerrit/httpd/auth/become/BecomeAnyAccountLoginServlet.java
+++ b/gerrit-httpd/src/main/java/com/google/gerrit/httpd/auth/become/BecomeAnyAccountLoginServlet.java
@@ -48,7 +48,6 @@
 import java.util.List;
 import java.util.UUID;
 
-import javax.servlet.ServletContext;
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServlet;
 import javax.servlet.http.HttpServletRequest;
@@ -68,7 +67,6 @@
   BecomeAnyAccountLoginServlet(final DynamicItem<WebSession> ws,
       final SchemaFactory<ReviewDb> sf,
       final AccountManager am,
-      final ServletContext servletContext,
       SiteHeaderFooter shf) {
     webSession = ws;
     schema = sf;
@@ -92,13 +90,13 @@
       res = create();
 
     } else if (req.getParameter("user_name") != null) {
-      res = byUserName(rsp, req.getParameter("user_name"));
+      res = byUserName(req.getParameter("user_name"));
 
     } else if (req.getParameter("preferred_email") != null) {
-      res = byPreferredEmail(rsp, req.getParameter("preferred_email"));
+      res = byPreferredEmail(req.getParameter("preferred_email"));
 
     } else if (req.getParameter("account_id") != null) {
-      res = byAccountId(rsp, req.getParameter("account_id"));
+      res = byAccountId(req.getParameter("account_id"));
 
     } else {
       byte[] raw;
@@ -210,8 +208,7 @@
     return null;
   }
 
-  private AuthResult byUserName(final HttpServletResponse rsp,
-      final String userName) {
+  private AuthResult byUserName(final String userName) {
     try {
       final ReviewDb db = schema.open();
       try {
@@ -227,8 +224,7 @@
     }
   }
 
-  private AuthResult byPreferredEmail(final HttpServletResponse rsp,
-      final String email) {
+  private AuthResult byPreferredEmail(final String email) {
     try {
       final ReviewDb db = schema.open();
       try {
@@ -243,8 +239,7 @@
     }
   }
 
-  private AuthResult byAccountId(final HttpServletResponse rsp,
-      final String idStr) {
+  private AuthResult byAccountId(final String idStr) {
     final Account.Id id;
     try {
       id = Account.Id.parse(idStr);
diff --git a/gerrit-httpd/src/main/java/com/google/gerrit/httpd/gitweb/GitWebCssServlet.java b/gerrit-httpd/src/main/java/com/google/gerrit/httpd/gitweb/GitWebCssServlet.java
index dcca106..4a39b97 100644
--- a/gerrit-httpd/src/main/java/com/google/gerrit/httpd/gitweb/GitWebCssServlet.java
+++ b/gerrit-httpd/src/main/java/com/google/gerrit/httpd/gitweb/GitWebCssServlet.java
@@ -36,8 +36,8 @@
   @Singleton
   static class Site extends GitWebCssServlet {
     @Inject
-    Site(SitePaths paths, GitWebConfig gwc) throws IOException {
-      super(paths.site_css, gwc);
+    Site(SitePaths paths) throws IOException {
+      super(paths.site_css);
     }
   }
 
@@ -45,7 +45,7 @@
   static class Default extends GitWebCssServlet {
     @Inject
     Default(GitWebConfig gwc) throws IOException {
-      super(gwc.getGitwebCSS(), gwc);
+      super(gwc.getGitwebCSS());
     }
   }
 
@@ -55,7 +55,7 @@
   private final byte[] raw_css;
   private final byte[] gz_css;
 
-  GitWebCssServlet(final File src, final GitWebConfig gitWebConfig)
+  GitWebCssServlet(final File src)
       throws IOException {
     if (src != null) {
       final File dir = src.getParentFile();
diff --git a/gerrit-httpd/src/main/java/com/google/gerrit/httpd/gitweb/GitWebServlet.java b/gerrit-httpd/src/main/java/com/google/gerrit/httpd/gitweb/GitWebServlet.java
index 147fe04..e1f68cd 100644
--- a/gerrit-httpd/src/main/java/com/google/gerrit/httpd/gitweb/GitWebServlet.java
+++ b/gerrit-httpd/src/main/java/com/google/gerrit/httpd/gitweb/GitWebServlet.java
@@ -402,7 +402,7 @@
     }
     try {
       CacheHeaders.setNotCacheable(rsp);
-      exec(req, rsp, project, repo);
+      exec(req, rsp, project);
     } finally {
       repo.close();
     }
@@ -435,8 +435,7 @@
   }
 
   private void exec(final HttpServletRequest req,
-      final HttpServletResponse rsp, final ProjectControl project,
-      final Repository repo) throws IOException {
+      final HttpServletResponse rsp, final ProjectControl project) throws IOException {
     final Process proc =
         Runtime.getRuntime().exec(new String[] {gitwebCgi.getAbsolutePath()},
             makeEnv(req, project),
@@ -595,6 +594,7 @@
     final int contentLength = req.getContentLength();
     final InputStream src = req.getInputStream();
     new Thread(new Runnable() {
+      @Override
       public void run() {
         try {
           try {
@@ -621,6 +621,7 @@
 
   private void copyStderrToLog(final InputStream in) {
     new Thread(new Runnable() {
+      @Override
       public void run() {
         try {
           final BufferedReader br =
diff --git a/gerrit-httpd/src/main/java/com/google/gerrit/httpd/plugins/HttpPluginServlet.java b/gerrit-httpd/src/main/java/com/google/gerrit/httpd/plugins/HttpPluginServlet.java
index 286f61b..44cd84e 100644
--- a/gerrit-httpd/src/main/java/com/google/gerrit/httpd/plugins/HttpPluginServlet.java
+++ b/gerrit-httpd/src/main/java/com/google/gerrit/httpd/plugins/HttpPluginServlet.java
@@ -33,7 +33,6 @@
 import com.google.gerrit.httpd.restapi.RestApiServlet;
 import com.google.gerrit.server.MimeUtilFileTypeRegistry;
 import com.google.gerrit.server.config.CanonicalWebUrl;
-import com.google.gerrit.server.config.GerritServerConfig;
 import com.google.gerrit.server.documentation.MarkdownFormatter;
 import com.google.gerrit.server.plugins.Plugin;
 import com.google.gerrit.server.plugins.Plugin.ApiType;
@@ -50,7 +49,6 @@
 import com.google.inject.name.Named;
 import com.google.inject.servlet.GuiceFilter;
 
-import org.eclipse.jgit.lib.Config;
 import org.eclipse.jgit.util.IO;
 import org.eclipse.jgit.util.RawParseUtils;
 import org.slf4j.Logger;
@@ -109,7 +107,6 @@
       MimeUtilFileTypeRegistry mimeUtil,
       @CanonicalWebUrl Provider<String> webUrl,
       @Named(HttpPluginModule.PLUGIN_RESOURCES) Cache<ResourceKey, Resource> cache,
-      @GerritServerConfig Config cfg,
       SshInfo sshInfo,
       RestApiServlet.Globals globals,
       PluginsCollection plugins) {
diff --git a/gerrit-httpd/src/main/java/com/google/gerrit/httpd/plugins/PluginResourceKey.java b/gerrit-httpd/src/main/java/com/google/gerrit/httpd/plugins/PluginResourceKey.java
index 4c3c515..afe3b79 100644
--- a/gerrit-httpd/src/main/java/com/google/gerrit/httpd/plugins/PluginResourceKey.java
+++ b/gerrit-httpd/src/main/java/com/google/gerrit/httpd/plugins/PluginResourceKey.java
@@ -26,6 +26,7 @@
     this.resource = r;
   }
 
+  @Override
   public int weigh() {
     return resource.length() * 2;
   }
diff --git a/gerrit-httpd/src/main/java/com/google/gerrit/httpd/raw/LegacyGerritServlet.java b/gerrit-httpd/src/main/java/com/google/gerrit/httpd/raw/LegacyGerritServlet.java
index 79c2aeb..9c267a8 100644
--- a/gerrit-httpd/src/main/java/com/google/gerrit/httpd/raw/LegacyGerritServlet.java
+++ b/gerrit-httpd/src/main/java/com/google/gerrit/httpd/raw/LegacyGerritServlet.java
@@ -24,7 +24,6 @@
 import java.io.IOException;
 import java.io.OutputStream;
 
-import javax.servlet.ServletContext;
 import javax.servlet.http.HttpServlet;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
@@ -45,7 +44,7 @@
   private final byte[] compressed;
 
   @Inject
-  LegacyGerritServlet(final ServletContext servletContext) throws IOException {
+  LegacyGerritServlet() throws IOException {
     final String pageName = "LegacyGerrit.html";
     final String doc = HtmlDomUtil.readFile(getClass(), pageName);
     if (doc == null) {
diff --git a/gerrit-httpd/src/main/java/com/google/gerrit/httpd/raw/ToolServlet.java b/gerrit-httpd/src/main/java/com/google/gerrit/httpd/raw/ToolServlet.java
index 810cc2a..16509ed 100644
--- a/gerrit-httpd/src/main/java/com/google/gerrit/httpd/raw/ToolServlet.java
+++ b/gerrit-httpd/src/main/java/com/google/gerrit/httpd/raw/ToolServlet.java
@@ -61,7 +61,7 @@
 
     switch (ent.getType()) {
       case FILE:
-        doGetFile(ent, req, rsp);
+        doGetFile(ent, rsp);
         break;
 
       case DIR:
@@ -74,8 +74,7 @@
     }
   }
 
-  private void doGetFile(Entry ent, HttpServletRequest req,
-      HttpServletResponse rsp) throws IOException {
+  private void doGetFile(Entry ent, HttpServletResponse rsp) throws IOException {
     byte[] tosend = ent.getBytes();
 
     rsp.setDateHeader(HDR_EXPIRES, 0L);
diff --git a/gerrit-httpd/src/main/java/com/google/gerrit/httpd/restapi/RestApiServlet.java b/gerrit-httpd/src/main/java/com/google/gerrit/httpd/restapi/RestApiServlet.java
index 4fb6e24..817ba7e 100644
--- a/gerrit-httpd/src/main/java/com/google/gerrit/httpd/restapi/RestApiServlet.java
+++ b/gerrit-httpd/src/main/java/com/google/gerrit/httpd/restapi/RestApiServlet.java
@@ -224,7 +224,7 @@
         try {
           rsrc = rc.parse(rsrc, id);
           if (path.isEmpty()) {
-            checkPreconditions(req, rsrc);
+            checkPreconditions(req);
           }
         } catch (ResourceNotFoundException e) {
           if (rc instanceof AcceptsCreate
@@ -269,7 +269,7 @@
           IdString id = path.remove(0);
           try {
             rsrc = c.parse(rsrc, id);
-            checkPreconditions(req, rsrc);
+            checkPreconditions(req);
             viewData = new ViewData(null, null);
           } catch (ResourceNotFoundException e) {
             if (c instanceof AcceptsCreate
@@ -439,7 +439,7 @@
     }
   }
 
-  private void checkPreconditions(HttpServletRequest req, RestResource rsrc)
+  private void checkPreconditions(HttpServletRequest req)
       throws PreconditionFailedException {
     if ("*".equals(req.getHeader("If-None-Match"))) {
       throw new PreconditionFailedException("Resource already exists");
diff --git a/gerrit-httpd/src/main/java/com/google/gerrit/httpd/rpc/AuditedHttpServletResponse.java b/gerrit-httpd/src/main/java/com/google/gerrit/httpd/rpc/AuditedHttpServletResponse.java
index c0c4535..257690e 100644
--- a/gerrit-httpd/src/main/java/com/google/gerrit/httpd/rpc/AuditedHttpServletResponse.java
+++ b/gerrit-httpd/src/main/java/com/google/gerrit/httpd/rpc/AuditedHttpServletResponse.java
@@ -28,6 +28,7 @@
     super(response);
   }
 
+  @Override
   public int getStatus() {
     return status;
   }
diff --git a/gerrit-httpd/src/main/java/com/google/gerrit/httpd/rpc/GerritJsonServlet.java b/gerrit-httpd/src/main/java/com/google/gerrit/httpd/rpc/GerritJsonServlet.java
index 2457fd2..01f2df3 100644
--- a/gerrit-httpd/src/main/java/com/google/gerrit/httpd/rpc/GerritJsonServlet.java
+++ b/gerrit-httpd/src/main/java/com/google/gerrit/httpd/rpc/GerritJsonServlet.java
@@ -131,7 +131,7 @@
       if (method == null) {
         return;
       }
-      Audit note = (Audit) method.getAnnotation(Audit.class);
+      Audit note = method.getAnnotation(Audit.class);
       if (note != null) {
         final String sid = call.getWebSession().getSessionId();
         final CurrentUser username = call.getWebSession().getCurrentUser();
diff --git a/gerrit-httpd/src/main/java/com/google/gerrit/httpd/rpc/Handler.java b/gerrit-httpd/src/main/java/com/google/gerrit/httpd/rpc/Handler.java
index 911d1cc..19a02a5 100644
--- a/gerrit-httpd/src/main/java/com/google/gerrit/httpd/rpc/Handler.java
+++ b/gerrit-httpd/src/main/java/com/google/gerrit/httpd/rpc/Handler.java
@@ -103,5 +103,6 @@
    * @throws Exception the operation failed. The caller will log the exception
    *         and the stack trace, if it is worth logging on the server side.
    */
+  @Override
   public abstract T call() throws Exception;
 }
diff --git a/gerrit-httpd/src/main/java/com/google/gerrit/httpd/rpc/SuggestServiceImpl.java b/gerrit-httpd/src/main/java/com/google/gerrit/httpd/rpc/SuggestServiceImpl.java
index dcd181c..ff64c3c 100644
--- a/gerrit-httpd/src/main/java/com/google/gerrit/httpd/rpc/SuggestServiceImpl.java
+++ b/gerrit-httpd/src/main/java/com/google/gerrit/httpd/rpc/SuggestServiceImpl.java
@@ -110,9 +110,11 @@
     boolean isVisible(Account account) throws OrmException;
   }
 
+  @Override
   public void suggestAccount(final String query, final Boolean active,
       final int limit, final AsyncCallback<List<AccountInfo>> callback) {
     run(callback, new Action<List<AccountInfo>>() {
+      @Override
       public List<AccountInfo> run(final ReviewDb db) throws OrmException {
         return suggestAccount(db, query, active, limit, new VisibilityControl() {
           @Override
@@ -175,15 +177,18 @@
     }
   }
 
+  @Override
   public void suggestAccountGroup(final String query, final int limit,
       final AsyncCallback<List<GroupReference>> callback) {
     suggestAccountGroupForProject(null, query, limit, callback);
   }
 
+  @Override
   public void suggestAccountGroupForProject(final Project.NameKey project,
       final String query, final int limit,
       final AsyncCallback<List<GroupReference>> callback) {
     run(callback, new Action<List<GroupReference>>() {
+      @Override
       public List<GroupReference> run(final ReviewDb db) {
         ProjectControl projectControl = null;
         if (project != null) {
@@ -217,6 +222,7 @@
       final String query, final int limit,
       final AsyncCallback<List<ReviewerInfo>> callback) {
     run(callback, new Action<List<ReviewerInfo>>() {
+      @Override
       public List<ReviewerInfo> run(final ReviewDb db)
           throws OrmException, Failure {
         final ChangeControl changeControl;
diff --git a/gerrit-httpd/src/main/java/com/google/gerrit/httpd/rpc/SystemInfoServiceImpl.java b/gerrit-httpd/src/main/java/com/google/gerrit/httpd/rpc/SystemInfoServiceImpl.java
index 56a6a50..5b28a61 100644
--- a/gerrit-httpd/src/main/java/com/google/gerrit/httpd/rpc/SystemInfoServiceImpl.java
+++ b/gerrit-httpd/src/main/java/com/google/gerrit/httpd/rpc/SystemInfoServiceImpl.java
@@ -59,6 +59,7 @@
     projectCache = pc;
   }
 
+  @Override
   public void contributorAgreements(
       final AsyncCallback<List<ContributorAgreement>> callback) {
     Collection<ContributorAgreement> agreements =
@@ -71,6 +72,7 @@
     callback.onSuccess(cas);
   }
 
+  @Override
   public void daemonHostKeys(final AsyncCallback<List<SshHostKey>> callback) {
     final ArrayList<SshHostKey> r = new ArrayList<>(hostKeys.size());
     for (final HostKey hk : hostKeys) {
diff --git a/gerrit-httpd/src/main/java/com/google/gerrit/httpd/rpc/account/AccountSecurityImpl.java b/gerrit-httpd/src/main/java/com/google/gerrit/httpd/rpc/account/AccountSecurityImpl.java
index 9bcffa8..0ff12f0 100644
--- a/gerrit-httpd/src/main/java/com/google/gerrit/httpd/rpc/account/AccountSecurityImpl.java
+++ b/gerrit-httpd/src/main/java/com/google/gerrit/httpd/rpc/account/AccountSecurityImpl.java
@@ -120,18 +120,22 @@
     }
   }
 
+  @Override
   public void myExternalIds(AsyncCallback<List<AccountExternalId>> callback) {
     externalIdDetailFactory.create().to(callback);
   }
 
+  @Override
   public void deleteExternalIds(final Set<AccountExternalId.Key> keys,
       final AsyncCallback<Set<AccountExternalId.Key>> callback) {
     deleteExternalIdsFactory.create(keys).to(callback);
   }
 
+  @Override
   public void updateContact(final String name, final String emailAddr,
       final ContactInformation info, final AsyncCallback<Account> callback) {
     run(callback, new Action<Account>() {
+      @Override
       public Account run(ReviewDb db) throws OrmException, Failure {
         IdentifiedUser self = user.get();
         final Account me = db.accounts().get(self.getAccountId());
@@ -175,9 +179,11 @@
     return a != null && a.equals(b);
   }
 
+  @Override
   public void enterAgreement(final String agreementName,
       final AsyncCallback<VoidResult> callback) {
     run(callback, new Action<VoidResult>() {
+      @Override
       public VoidResult run(final ReviewDb db) throws OrmException, Failure {
         ContributorAgreement ca = projectCache.getAllProjects().getConfig()
             .getContributorAgreement(agreementName);
@@ -216,6 +222,7 @@
     });
   }
 
+  @Override
   public void validateEmail(final String tokenString,
       final AsyncCallback<VoidResult> callback) {
     try {
diff --git a/gerrit-httpd/src/main/java/com/google/gerrit/httpd/rpc/account/AccountServiceImpl.java b/gerrit-httpd/src/main/java/com/google/gerrit/httpd/rpc/account/AccountServiceImpl.java
index bdb0028..9616d25 100644
--- a/gerrit-httpd/src/main/java/com/google/gerrit/httpd/rpc/account/AccountServiceImpl.java
+++ b/gerrit-httpd/src/main/java/com/google/gerrit/httpd/rpc/account/AccountServiceImpl.java
@@ -68,6 +68,7 @@
     this.queryBuilder = queryBuilder;
   }
 
+  @Override
   public void myAccount(final AsyncCallback<Account> callback) {
     run(callback, new Action<Account>() {
       @Override
@@ -77,9 +78,11 @@
     });
   }
 
+  @Override
   public void changePreferences(final AccountGeneralPreferences pref,
       final AsyncCallback<VoidResult> callback) {
     run(callback, new Action<VoidResult>() {
+      @Override
       public VoidResult run(final ReviewDb db) throws OrmException, Failure {
         final Account a = db.accounts().get(getAccountId());
         if (a == null) {
@@ -97,6 +100,7 @@
   public void changeDiffPreferences(final AccountDiffPreference diffPref,
       AsyncCallback<VoidResult> callback) {
     run(callback, new Action<VoidResult>(){
+      @Override
       public VoidResult run(ReviewDb db) throws OrmException {
         if (!diffPref.getAccountId().equals(getAccountId())) {
           throw new IllegalArgumentException("diffPref.getAccountId() "
@@ -109,9 +113,11 @@
     });
   }
 
+  @Override
   public void myProjectWatch(
       final AsyncCallback<List<AccountProjectWatchInfo>> callback) {
     run(callback, new Action<List<AccountProjectWatchInfo>>() {
+      @Override
       public List<AccountProjectWatchInfo> run(ReviewDb db) throws OrmException {
         List<AccountProjectWatchInfo> r = new ArrayList<>();
 
@@ -127,6 +133,7 @@
           r.add(new AccountProjectWatchInfo(w, ctl.getProject()));
         }
         Collections.sort(r, new Comparator<AccountProjectWatchInfo>() {
+          @Override
           public int compare(final AccountProjectWatchInfo a,
               final AccountProjectWatchInfo b) {
             return a.getProject().getName().compareTo(b.getProject().getName());
@@ -137,9 +144,11 @@
     });
   }
 
+  @Override
   public void addProjectWatch(final String projectName, final String filter,
       final AsyncCallback<AccountProjectWatchInfo> callback) {
     run(callback, new Action<AccountProjectWatchInfo>() {
+      @Override
       public AccountProjectWatchInfo run(ReviewDb db) throws OrmException,
           NoSuchProjectException, InvalidQueryException {
         final Project.NameKey nameKey = new Project.NameKey(projectName);
@@ -167,6 +176,7 @@
     });
   }
 
+  @Override
   public void updateProjectWatch(final AccountProjectWatch watch,
       final AsyncCallback<VoidResult> callback) {
     if (!getAccountId().equals(watch.getAccountId())) {
@@ -175,6 +185,7 @@
     }
 
     run(callback, new Action<VoidResult>() {
+      @Override
       public VoidResult run(ReviewDb db) throws OrmException {
         db.accountProjectWatches().update(Collections.singleton(watch));
         return VoidResult.INSTANCE;
@@ -182,9 +193,11 @@
     });
   }
 
+  @Override
   public void deleteProjectWatches(final Set<AccountProjectWatch.Key> keys,
       final AsyncCallback<VoidResult> callback) {
     run(callback, new Action<VoidResult>() {
+      @Override
       public VoidResult run(final ReviewDb db) throws OrmException, Failure {
         final Account.Id me = getAccountId();
         for (final AccountProjectWatch.Key keyId : keys) {
@@ -198,6 +211,7 @@
     });
   }
 
+  @Override
   public void myAgreements(final AsyncCallback<AgreementInfo> callback) {
     agreementInfoFactory.create().to(callback);
   }
diff --git a/gerrit-httpd/src/main/java/com/google/gerrit/httpd/rpc/changedetail/ChangeDetailServiceImpl.java b/gerrit-httpd/src/main/java/com/google/gerrit/httpd/rpc/changedetail/ChangeDetailServiceImpl.java
index 538275f..d0c042c 100644
--- a/gerrit-httpd/src/main/java/com/google/gerrit/httpd/rpc/changedetail/ChangeDetailServiceImpl.java
+++ b/gerrit-httpd/src/main/java/com/google/gerrit/httpd/rpc/changedetail/ChangeDetailServiceImpl.java
@@ -30,11 +30,13 @@
     this.patchSetDetail = patchSetDetail;
   }
 
+  @Override
   public void patchSetDetail(PatchSet.Id id,
       AsyncCallback<PatchSetDetail> callback) {
     patchSetDetail2(null, id, null, callback);
   }
 
+  @Override
   public void patchSetDetail2(PatchSet.Id baseId, PatchSet.Id id,
       AccountDiffPreference diffPrefs, AsyncCallback<PatchSetDetail> callback) {
     patchSetDetail.create(baseId, id, diffPrefs).to(callback);
diff --git a/gerrit-httpd/src/main/java/com/google/gerrit/httpd/rpc/patch/PatchDetailServiceImpl.java b/gerrit-httpd/src/main/java/com/google/gerrit/httpd/rpc/patch/PatchDetailServiceImpl.java
index 64d5838..2df0ac8 100644
--- a/gerrit-httpd/src/main/java/com/google/gerrit/httpd/rpc/patch/PatchDetailServiceImpl.java
+++ b/gerrit-httpd/src/main/java/com/google/gerrit/httpd/rpc/patch/PatchDetailServiceImpl.java
@@ -47,6 +47,7 @@
     this.changeControlFactory = changeControlFactory;
   }
 
+  @Override
   public void patchScript(final Patch.Key patchKey, final PatchSet.Id psa,
       final PatchSet.Id psb, final AccountDiffPreference dp,
       final AsyncCallback<PatchScript> callback) {
diff --git a/gerrit-lucene/src/main/java/com/google/gerrit/lucene/LuceneChangeIndex.java b/gerrit-lucene/src/main/java/com/google/gerrit/lucene/LuceneChangeIndex.java
index 2faece4..9550055 100644
--- a/gerrit-lucene/src/main/java/com/google/gerrit/lucene/LuceneChangeIndex.java
+++ b/gerrit-lucene/src/main/java/com/google/gerrit/lucene/LuceneChangeIndex.java
@@ -483,22 +483,17 @@
     return cd;
   }
 
-  private Document toDocument(ChangeData cd) throws IOException {
-    try {
-      Document result = new Document();
-      for (Values<ChangeData> vs : schema.buildFields(cd, fillArgs)) {
-        if (vs.getValues() != null) {
-          add(result, vs);
-        }
+  private Document toDocument(ChangeData cd) {
+    Document result = new Document();
+    for (Values<ChangeData> vs : schema.buildFields(cd, fillArgs)) {
+      if (vs.getValues() != null) {
+        add(result, vs);
       }
-      return result;
-    } catch (OrmException e) {
-      throw new IOException(e);
     }
+    return result;
   }
 
-  private void add(Document doc, Values<ChangeData> values)
-      throws OrmException {
+  private void add(Document doc, Values<ChangeData> values) {
     String name = values.getField().getName();
     FieldType<?> type = values.getField().getType();
     Store store = store(values.getField());
@@ -517,7 +512,7 @@
       if (legacy) {
         for (Object value : values.getValues()) {
           int t = queryBuilder.toIndexTimeInMinutes((Timestamp) value);
-          doc.add(new IntField(name, (int) t, store));
+          doc.add(new IntField(name, t, store));
         }
       } else {
         for (Object value : values.getValues()) {
diff --git a/gerrit-lucene/src/main/java/com/google/gerrit/lucene/LuceneIndexModule.java b/gerrit-lucene/src/main/java/com/google/gerrit/lucene/LuceneIndexModule.java
index 583e54f..a25ce2c 100644
--- a/gerrit-lucene/src/main/java/com/google/gerrit/lucene/LuceneIndexModule.java
+++ b/gerrit-lucene/src/main/java/com/google/gerrit/lucene/LuceneIndexModule.java
@@ -16,7 +16,6 @@
 
 import com.google.gerrit.extensions.events.LifecycleListener;
 import com.google.gerrit.lifecycle.LifecycleModule;
-import com.google.gerrit.server.config.SitePaths;
 import com.google.gerrit.server.index.ChangeSchemas;
 import com.google.gerrit.server.index.IndexCollection;
 import com.google.gerrit.server.index.IndexModule;
@@ -69,8 +68,7 @@
 
     @Provides
     @Singleton
-    LuceneChangeIndex getIndex(LuceneChangeIndex.Factory factory,
-        SitePaths sitePaths) {
+    LuceneChangeIndex getIndex(LuceneChangeIndex.Factory factory) {
       Schema<ChangeData> schema = singleVersion != null
           ? ChangeSchemas.get(singleVersion)
           : ChangeSchemas.getLatest();
diff --git a/gerrit-openid/src/main/java/com/google/gerrit/httpd/auth/openid/OpenIdServiceImpl.java b/gerrit-openid/src/main/java/com/google/gerrit/httpd/auth/openid/OpenIdServiceImpl.java
index dc5e102..ba806f0 100644
--- a/gerrit-openid/src/main/java/com/google/gerrit/httpd/auth/openid/OpenIdServiceImpl.java
+++ b/gerrit-openid/src/main/java/com/google/gerrit/httpd/auth/openid/OpenIdServiceImpl.java
@@ -60,7 +60,6 @@
 import org.slf4j.LoggerFactory;
 
 import java.io.IOException;
-import java.net.MalformedURLException;
 import java.net.URL;
 import java.util.List;
 import java.util.concurrent.TimeUnit;
@@ -109,8 +108,7 @@
       CanonicalWebUrl up,
       @GerritServerConfig final Config config, final AuthConfig ac,
       final AccountManager am,
-      ProxyProperties proxyProperties)
-          throws ConsumerException, MalformedURLException {
+      ProxyProperties proxyProperties) {
 
     if (proxyProperties.getProxyUrl() != null) {
       final org.openid4java.util.ProxyProperties proxy =
diff --git a/gerrit-patch-jgit/src/main/java/org/eclipse/jgit/diff/EditDeserializer.java b/gerrit-patch-jgit/src/main/java/org/eclipse/jgit/diff/EditDeserializer.java
index 5a9b935..a99b360 100644
--- a/gerrit-patch-jgit/src/main/java/org/eclipse/jgit/diff/EditDeserializer.java
+++ b/gerrit-patch-jgit/src/main/java/org/eclipse/jgit/diff/EditDeserializer.java
@@ -30,6 +30,7 @@
 
 public class EditDeserializer implements JsonDeserializer<Edit>,
     JsonSerializer<Edit> {
+  @Override
   public Edit deserialize(final JsonElement json, final Type typeOfT,
       final JsonDeserializationContext context) throws JsonParseException {
     if (json.isJsonNull()) {
@@ -73,6 +74,7 @@
     return p.getAsInt();
   }
 
+  @Override
   public JsonElement serialize(final Edit src, final Type typeOfSrc,
       final JsonSerializationContext context) {
     if (src == null) {
diff --git a/gerrit-pgm/src/main/java/com/google/gerrit/pgm/Daemon.java b/gerrit-pgm/src/main/java/com/google/gerrit/pgm/Daemon.java
index cc00294..150b44c 100644
--- a/gerrit-pgm/src/main/java/com/google/gerrit/pgm/Daemon.java
+++ b/gerrit-pgm/src/main/java/com/google/gerrit/pgm/Daemon.java
@@ -107,7 +107,7 @@
   private Boolean httpd;
 
   @Option(name = "--disable-httpd", usage = "Disable the internal HTTP daemon")
-  void setDisableHttpd(final boolean arg) {
+  void setDisableHttpd(@SuppressWarnings("unused") boolean arg) {
     httpd = false;
   }
 
@@ -115,7 +115,7 @@
   private boolean sshd = true;
 
   @Option(name = "--disable-sshd", usage = "Disable the internal SSH daemon")
-  void setDisableSshd(final boolean arg) {
+  void setDisableSshd(@SuppressWarnings("unused")  boolean arg) {
     sshd = false;
   }
 
diff --git a/gerrit-pgm/src/main/java/com/google/gerrit/pgm/http/jetty/HiddenErrorHandler.java b/gerrit-pgm/src/main/java/com/google/gerrit/pgm/http/jetty/HiddenErrorHandler.java
index 5ca53df..3b0a590 100644
--- a/gerrit-pgm/src/main/java/com/google/gerrit/pgm/http/jetty/HiddenErrorHandler.java
+++ b/gerrit-pgm/src/main/java/com/google/gerrit/pgm/http/jetty/HiddenErrorHandler.java
@@ -35,6 +35,7 @@
 class HiddenErrorHandler extends ErrorHandler {
   private static final Logger log = LoggerFactory.getLogger(HiddenErrorHandler.class);
 
+  @Override
   public void handle(String target, Request baseRequest,
       HttpServletRequest req, HttpServletResponse res) throws IOException {
     HttpConnection conn = HttpConnection.getCurrentConnection();
diff --git a/gerrit-pgm/src/main/java/com/google/gerrit/pgm/init/AllUsersNameOnInitProvider.java b/gerrit-pgm/src/main/java/com/google/gerrit/pgm/init/AllUsersNameOnInitProvider.java
index de0b75a..29e6166 100644
--- a/gerrit-pgm/src/main/java/com/google/gerrit/pgm/init/AllUsersNameOnInitProvider.java
+++ b/gerrit-pgm/src/main/java/com/google/gerrit/pgm/init/AllUsersNameOnInitProvider.java
@@ -31,6 +31,7 @@
         Strings.emptyToNull(n), AllUsersNameProvider.DEFAULT);
   }
 
+  @Override
   public String get() {
     return name;
   }
diff --git a/gerrit-pgm/src/main/java/com/google/gerrit/pgm/init/BaseInit.java b/gerrit-pgm/src/main/java/com/google/gerrit/pgm/init/BaseInit.java
index dc881c6..7459bdc 100644
--- a/gerrit-pgm/src/main/java/com/google/gerrit/pgm/init/BaseInit.java
+++ b/gerrit-pgm/src/main/java/com/google/gerrit/pgm/init/BaseInit.java
@@ -130,10 +130,22 @@
     return false;
   }
 
+  /**
+   * Invoked before site init is called.
+   *
+   * @param init initializer instance.
+   * @throws Exception
+   */
   protected boolean beforeInit(SiteInit init) throws Exception {
     return false;
   }
 
+  /**
+   * Invoked after site init is called.
+   *
+   * @param run completed run instance.
+   * @throws Exception
+   */
   protected void afterInit(SiteRun run) throws Exception {
   }
 
diff --git a/gerrit-pgm/src/main/java/com/google/gerrit/pgm/init/InitAuth.java b/gerrit-pgm/src/main/java/com/google/gerrit/pgm/init/InitAuth.java
index 83c4510..0f4db71 100644
--- a/gerrit-pgm/src/main/java/com/google/gerrit/pgm/init/InitAuth.java
+++ b/gerrit-pgm/src/main/java/com/google/gerrit/pgm/init/InitAuth.java
@@ -38,6 +38,7 @@
     this.ldap = sections.get("ldap", null);
   }
 
+  @Override
   public void run() {
     ui.header("User Authentication");
 
diff --git a/gerrit-pgm/src/main/java/com/google/gerrit/pgm/init/InitCache.java b/gerrit-pgm/src/main/java/com/google/gerrit/pgm/init/InitCache.java
index 4c026ac..f655b6a 100644
--- a/gerrit-pgm/src/main/java/com/google/gerrit/pgm/init/InitCache.java
+++ b/gerrit-pgm/src/main/java/com/google/gerrit/pgm/init/InitCache.java
@@ -36,6 +36,7 @@
     this.cache = sections.get("cache", null);
   }
 
+  @Override
   public void run() {
     String path = cache.get("directory");
 
diff --git a/gerrit-pgm/src/main/java/com/google/gerrit/pgm/init/InitContainer.java b/gerrit-pgm/src/main/java/com/google/gerrit/pgm/init/InitContainer.java
index 0fda842..7a66b3f 100644
--- a/gerrit-pgm/src/main/java/com/google/gerrit/pgm/init/InitContainer.java
+++ b/gerrit-pgm/src/main/java/com/google/gerrit/pgm/init/InitContainer.java
@@ -49,6 +49,7 @@
     this.container = sections.get("container", null);
   }
 
+  @Override
   public void run() throws FileNotFoundException, IOException {
     ui.header("Container Process");
 
diff --git a/gerrit-pgm/src/main/java/com/google/gerrit/pgm/init/InitDatabase.java b/gerrit-pgm/src/main/java/com/google/gerrit/pgm/init/InitDatabase.java
index 668b307..3fcc911 100644
--- a/gerrit-pgm/src/main/java/com/google/gerrit/pgm/init/InitDatabase.java
+++ b/gerrit-pgm/src/main/java/com/google/gerrit/pgm/init/InitDatabase.java
@@ -53,6 +53,7 @@
     this.database = sections.get("database", null);
   }
 
+  @Override
   public void run() {
     ui.header("SQL Database");
 
diff --git a/gerrit-pgm/src/main/java/com/google/gerrit/pgm/init/InitGitManager.java b/gerrit-pgm/src/main/java/com/google/gerrit/pgm/init/InitGitManager.java
index 264031d..88b2d4f 100644
--- a/gerrit-pgm/src/main/java/com/google/gerrit/pgm/init/InitGitManager.java
+++ b/gerrit-pgm/src/main/java/com/google/gerrit/pgm/init/InitGitManager.java
@@ -36,6 +36,7 @@
     this.gerrit = sections.get("gerrit", null);
   }
 
+  @Override
   public void run() {
     ui.header("Git Repositories");
 
diff --git a/gerrit-pgm/src/main/java/com/google/gerrit/pgm/init/InitHttpd.java b/gerrit-pgm/src/main/java/com/google/gerrit/pgm/init/InitHttpd.java
index 9370a14..9c25538 100644
--- a/gerrit-pgm/src/main/java/com/google/gerrit/pgm/init/InitHttpd.java
+++ b/gerrit-pgm/src/main/java/com/google/gerrit/pgm/init/InitHttpd.java
@@ -53,6 +53,7 @@
     this.gerrit = sections.get("gerrit", null);
   }
 
+  @Override
   public void run() throws IOException, InterruptedException {
     ui.header("HTTP Daemon");
 
diff --git a/gerrit-pgm/src/main/java/com/google/gerrit/pgm/init/InitIndex.java b/gerrit-pgm/src/main/java/com/google/gerrit/pgm/init/InitIndex.java
index b522d07..acb8a6b 100644
--- a/gerrit-pgm/src/main/java/com/google/gerrit/pgm/init/InitIndex.java
+++ b/gerrit-pgm/src/main/java/com/google/gerrit/pgm/init/InitIndex.java
@@ -46,6 +46,7 @@
     this.initFlags = initFlags;
   }
 
+  @Override
   public void run() throws IOException {
     ui.header("Index");
 
diff --git a/gerrit-pgm/src/main/java/com/google/gerrit/pgm/init/InitSendEmail.java b/gerrit-pgm/src/main/java/com/google/gerrit/pgm/init/InitSendEmail.java
index e9cc1ed..673ff6e 100644
--- a/gerrit-pgm/src/main/java/com/google/gerrit/pgm/init/InitSendEmail.java
+++ b/gerrit-pgm/src/main/java/com/google/gerrit/pgm/init/InitSendEmail.java
@@ -40,6 +40,7 @@
     this.site = site;
   }
 
+  @Override
   public void run() {
     ui.header("Email Delivery");
 
diff --git a/gerrit-pgm/src/main/java/com/google/gerrit/pgm/init/InitSshd.java b/gerrit-pgm/src/main/java/com/google/gerrit/pgm/init/InitSshd.java
index 4dc05c5..98fd2b5 100644
--- a/gerrit-pgm/src/main/java/com/google/gerrit/pgm/init/InitSshd.java
+++ b/gerrit-pgm/src/main/java/com/google/gerrit/pgm/init/InitSshd.java
@@ -50,6 +50,7 @@
     this.sshd = sections.get("sshd", null);
   }
 
+  @Override
   public void run() throws Exception {
     ui.header("SSH Daemon");
 
diff --git a/gerrit-pgm/src/main/java/com/google/gerrit/pgm/init/UpgradeFrom2_0_x.java b/gerrit-pgm/src/main/java/com/google/gerrit/pgm/init/UpgradeFrom2_0_x.java
index 7b64308..6abb375 100644
--- a/gerrit-pgm/src/main/java/com/google/gerrit/pgm/init/UpgradeFrom2_0_x.java
+++ b/gerrit-pgm/src/main/java/com/google/gerrit/pgm/init/UpgradeFrom2_0_x.java
@@ -89,6 +89,7 @@
     return false;
   }
 
+  @Override
   public void run() throws IOException, ConfigInvalidException {
     if (!isNeedUpgrade()) {
       return;
diff --git a/gerrit-pgm/src/main/java/com/google/gerrit/pgm/init/api/AllProjectsConfig.java b/gerrit-pgm/src/main/java/com/google/gerrit/pgm/init/api/AllProjectsConfig.java
index 303969b..dda536d 100644
--- a/gerrit-pgm/src/main/java/com/google/gerrit/pgm/init/api/AllProjectsConfig.java
+++ b/gerrit-pgm/src/main/java/com/google/gerrit/pgm/init/api/AllProjectsConfig.java
@@ -88,11 +88,11 @@
     return this;
   }
 
-  public Config getConfig() throws ConfigInvalidException {
+  public Config getConfig() {
     return cfg;
   }
 
-  public GroupList getGroups() throws ConfigInvalidException {
+  public GroupList getGroups() {
     return groupList;
   }
 
diff --git a/gerrit-pgm/src/main/java/com/google/gerrit/pgm/init/api/AllProjectsNameOnInitProvider.java b/gerrit-pgm/src/main/java/com/google/gerrit/pgm/init/api/AllProjectsNameOnInitProvider.java
index 956f459..9a6faea 100644
--- a/gerrit-pgm/src/main/java/com/google/gerrit/pgm/init/api/AllProjectsNameOnInitProvider.java
+++ b/gerrit-pgm/src/main/java/com/google/gerrit/pgm/init/api/AllProjectsNameOnInitProvider.java
@@ -30,6 +30,7 @@
         Strings.emptyToNull(n), AllProjectsNameProvider.DEFAULT);
   }
 
+  @Override
   public String get() {
     return name;
   }
diff --git a/gerrit-pgm/src/main/java/com/google/gerrit/pgm/util/GuiceLogger.java b/gerrit-pgm/src/main/java/com/google/gerrit/pgm/util/GuiceLogger.java
index d807af6..6776ca9 100644
--- a/gerrit-pgm/src/main/java/com/google/gerrit/pgm/util/GuiceLogger.java
+++ b/gerrit-pgm/src/main/java/com/google/gerrit/pgm/util/GuiceLogger.java
@@ -25,6 +25,7 @@
   private static final Handler HANDLER;
   static {
     HANDLER = new StreamHandler(System.out, new Formatter() {
+      @Override
       public String format(LogRecord record) {
         return String.format("[Guice %s] %s%n", record.getLevel().getName(),
             record.getMessage());
diff --git a/gerrit-pgm/src/main/java/com/google/gerrit/pgm/util/SiteLibraryBasedDataSourceProvider.java b/gerrit-pgm/src/main/java/com/google/gerrit/pgm/util/SiteLibraryBasedDataSourceProvider.java
index 8569112..c713b79 100644
--- a/gerrit-pgm/src/main/java/com/google/gerrit/pgm/util/SiteLibraryBasedDataSourceProvider.java
+++ b/gerrit-pgm/src/main/java/com/google/gerrit/pgm/util/SiteLibraryBasedDataSourceProvider.java
@@ -39,10 +39,11 @@
       @GerritServerConfig Config cfg,
       DataSourceProvider.Context ctx,
       DataSourceType dst) {
-    super(site, cfg, ctx, dst);
+    super(cfg, ctx, dst);
     libdir = site.lib_dir;
   }
 
+  @Override
   public synchronized DataSource get() {
     if (!init) {
       SiteLibraryLoaderUtil.loadSiteLib(libdir);
diff --git a/gerrit-plugin-gwtui/src/main/java/com/google/gerrit/plugin/client/PluginEntryPoint.java b/gerrit-plugin-gwtui/src/main/java/com/google/gerrit/plugin/client/PluginEntryPoint.java
index ca1cdbf..0f8a16a 100644
--- a/gerrit-plugin-gwtui/src/main/java/com/google/gerrit/plugin/client/PluginEntryPoint.java
+++ b/gerrit-plugin-gwtui/src/main/java/com/google/gerrit/plugin/client/PluginEntryPoint.java
@@ -32,6 +32,7 @@
    */
   public abstract void onPluginLoad();
 
+  @Override
   public final void onModuleLoad() {
     Plugin self = Plugin.get();
     try {
diff --git a/gerrit-prettify/src/main/java/com/google/gerrit/prettify/client/PrettyFormatter.java b/gerrit-prettify/src/main/java/com/google/gerrit/prettify/client/PrettyFormatter.java
index ed42f10..668ebed5 100644
--- a/gerrit-prettify/src/main/java/com/google/gerrit/prettify/client/PrettyFormatter.java
+++ b/gerrit-prettify/src/main/java/com/google/gerrit/prettify/client/PrettyFormatter.java
@@ -82,10 +82,12 @@
   private Tag lastTag;
   private StringBuilder buf;
 
+  @Override
   public SafeHtml getSafeHtmlLine(int lineNo) {
     return SafeHtml.asis(content.get(lineNo));
   }
 
+  @Override
   public int size() {
     return content.size();
   }
diff --git a/gerrit-prettify/src/main/java/com/google/gerrit/prettify/common/EditList.java b/gerrit-prettify/src/main/java/com/google/gerrit/prettify/common/EditList.java
index 1d23009..6a42a8e 100644
--- a/gerrit-prettify/src/main/java/com/google/gerrit/prettify/common/EditList.java
+++ b/gerrit-prettify/src/main/java/com/google/gerrit/prettify/common/EditList.java
@@ -39,14 +39,17 @@
 
   public Iterable<Hunk> getHunks() {
     return new Iterable<Hunk>() {
+      @Override
       public Iterator<Hunk> iterator() {
         return new Iterator<Hunk>() {
           private int curIdx;
 
+          @Override
           public boolean hasNext() {
             return curIdx < edits.size();
           }
 
+          @Override
           public Hunk next() {
             final int c = curIdx;
             final int e = findCombinedEnd(c);
@@ -54,6 +57,7 @@
             return new Hunk(c, e);
           }
 
+          @Override
           public void remove() {
             throw new UnsupportedOperationException();
           }
diff --git a/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/client/AccountDiffPreference.java b/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/client/AccountDiffPreference.java
index 6bdd4b0..1d7b2f7 100644
--- a/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/client/AccountDiffPreference.java
+++ b/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/client/AccountDiffPreference.java
@@ -41,6 +41,7 @@
       code = c;
     }
 
+    @Override
     public char getCode() {
       return code;
     }
diff --git a/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/client/Patch.java b/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/client/Patch.java
index f5ecd2e..3637914 100644
--- a/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/client/Patch.java
+++ b/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/client/Patch.java
@@ -93,6 +93,7 @@
       code = c;
     }
 
+    @Override
     public char getCode() {
       return code;
     }
@@ -151,6 +152,7 @@
       code = c;
     }
 
+    @Override
     public char getCode() {
       return code;
     }
diff --git a/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/server/AccountAccess.java b/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/server/AccountAccess.java
index 6603c17..de81a90 100644
--- a/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/server/AccountAccess.java
+++ b/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/server/AccountAccess.java
@@ -24,6 +24,7 @@
 /** Access interface for {@link Account}. */
 public interface AccountAccess extends Access<Account, Account.Id> {
   /** Locate an account by our locally generated identity. */
+  @Override
   @PrimaryKey("accountId")
   Account get(Account.Id key) throws OrmException;
 
diff --git a/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/server/AccountDiffPreferenceAccess.java b/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/server/AccountDiffPreferenceAccess.java
index fffcf9e..499cb77 100644
--- a/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/server/AccountDiffPreferenceAccess.java
+++ b/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/server/AccountDiffPreferenceAccess.java
@@ -22,6 +22,7 @@
 
 public interface AccountDiffPreferenceAccess extends Access<AccountDiffPreference, Account.Id> {
 
+  @Override
   @PrimaryKey("accountId")
   AccountDiffPreference get(Account.Id key) throws OrmException;
 
diff --git a/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/server/AccountExternalIdAccess.java b/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/server/AccountExternalIdAccess.java
index bf6c0ef..12bd80f 100644
--- a/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/server/AccountExternalIdAccess.java
+++ b/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/server/AccountExternalIdAccess.java
@@ -24,6 +24,7 @@
 
 public interface AccountExternalIdAccess extends
     Access<AccountExternalId, AccountExternalId.Key> {
+  @Override
   @PrimaryKey("key")
   AccountExternalId get(AccountExternalId.Key key) throws OrmException;
 
diff --git a/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/server/AccountGroupAccess.java b/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/server/AccountGroupAccess.java
index 1de80f3..3b82773 100644
--- a/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/server/AccountGroupAccess.java
+++ b/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/server/AccountGroupAccess.java
@@ -23,6 +23,7 @@
 
 public interface AccountGroupAccess extends
     Access<AccountGroup, AccountGroup.Id> {
+  @Override
   @PrimaryKey("groupId")
   AccountGroup get(AccountGroup.Id id) throws OrmException;
 
diff --git a/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/server/AccountGroupByIdAccess.java b/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/server/AccountGroupByIdAccess.java
index d1eaed8..4fce0cd 100644
--- a/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/server/AccountGroupByIdAccess.java
+++ b/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/server/AccountGroupByIdAccess.java
@@ -24,6 +24,7 @@
 
 public interface AccountGroupByIdAccess extends
     Access<AccountGroupById, AccountGroupById.Key> {
+  @Override
   @PrimaryKey("key")
   AccountGroupById get(AccountGroupById.Key key) throws OrmException;
 
diff --git a/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/server/AccountGroupByIdAudAccess.java b/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/server/AccountGroupByIdAudAccess.java
index e772c8c..d16d286 100644
--- a/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/server/AccountGroupByIdAudAccess.java
+++ b/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/server/AccountGroupByIdAudAccess.java
@@ -24,6 +24,7 @@
 
 public interface AccountGroupByIdAudAccess extends
     Access<AccountGroupByIdAud, AccountGroupByIdAud.Key> {
+  @Override
   @PrimaryKey("key")
   AccountGroupByIdAud get(AccountGroupByIdAud.Key key)
       throws OrmException;
diff --git a/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/server/AccountGroupMemberAccess.java b/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/server/AccountGroupMemberAccess.java
index e070d69..b3296d9 100644
--- a/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/server/AccountGroupMemberAccess.java
+++ b/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/server/AccountGroupMemberAccess.java
@@ -25,6 +25,7 @@
 
 public interface AccountGroupMemberAccess extends
     Access<AccountGroupMember, AccountGroupMember.Key> {
+  @Override
   @PrimaryKey("key")
   AccountGroupMember get(AccountGroupMember.Key key) throws OrmException;
 
diff --git a/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/server/AccountGroupMemberAuditAccess.java b/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/server/AccountGroupMemberAuditAccess.java
index 48c4e2d..236d1c1 100644
--- a/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/server/AccountGroupMemberAuditAccess.java
+++ b/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/server/AccountGroupMemberAuditAccess.java
@@ -25,6 +25,7 @@
 
 public interface AccountGroupMemberAuditAccess extends
     Access<AccountGroupMemberAudit, AccountGroupMemberAudit.Key> {
+  @Override
   @PrimaryKey("key")
   AccountGroupMemberAudit get(AccountGroupMemberAudit.Key key)
       throws OrmException;
diff --git a/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/server/AccountGroupNameAccess.java b/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/server/AccountGroupNameAccess.java
index 30e685c..0a06d07 100644
--- a/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/server/AccountGroupNameAccess.java
+++ b/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/server/AccountGroupNameAccess.java
@@ -25,6 +25,7 @@
 
 public interface AccountGroupNameAccess extends
     Access<AccountGroupName, AccountGroup.NameKey> {
+  @Override
   @PrimaryKey("name")
   AccountGroupName get(AccountGroup.NameKey name) throws OrmException;
 
diff --git a/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/server/AccountPatchReviewAccess.java b/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/server/AccountPatchReviewAccess.java
index 80b2dc4..6b9e160 100644
--- a/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/server/AccountPatchReviewAccess.java
+++ b/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/server/AccountPatchReviewAccess.java
@@ -25,6 +25,7 @@
 
 public interface AccountPatchReviewAccess
     extends Access<AccountPatchReview, AccountPatchReview.Key> {
+  @Override
   @PrimaryKey("key")
   AccountPatchReview get(AccountPatchReview.Key id) throws OrmException;
 
diff --git a/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/server/AccountProjectWatchAccess.java b/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/server/AccountProjectWatchAccess.java
index c073468..c6f4775 100644
--- a/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/server/AccountProjectWatchAccess.java
+++ b/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/server/AccountProjectWatchAccess.java
@@ -25,6 +25,7 @@
 
 public interface AccountProjectWatchAccess extends
     Access<AccountProjectWatch, AccountProjectWatch.Key> {
+  @Override
   @PrimaryKey("key")
   AccountProjectWatch get(AccountProjectWatch.Key key) throws OrmException;
 
diff --git a/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/server/AccountSshKeyAccess.java b/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/server/AccountSshKeyAccess.java
index b170a3d..6f71ba4 100644
--- a/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/server/AccountSshKeyAccess.java
+++ b/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/server/AccountSshKeyAccess.java
@@ -24,6 +24,7 @@
 
 public interface AccountSshKeyAccess extends
     Access<AccountSshKey, AccountSshKey.Id> {
+  @Override
   @PrimaryKey("id")
   AccountSshKey get(AccountSshKey.Id id) throws OrmException;
 
diff --git a/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/server/ChangeAccess.java b/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/server/ChangeAccess.java
index 54cdbfa..2b33a1e 100644
--- a/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/server/ChangeAccess.java
+++ b/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/server/ChangeAccess.java
@@ -24,6 +24,7 @@
 import com.google.gwtorm.server.ResultSet;
 
 public interface ChangeAccess extends Access<Change, Change.Id> {
+  @Override
   @PrimaryKey("changeId")
   Change get(Change.Id id) throws OrmException;
 
diff --git a/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/server/ChangeMessageAccess.java b/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/server/ChangeMessageAccess.java
index 0126a31..d291fd5 100644
--- a/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/server/ChangeMessageAccess.java
+++ b/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/server/ChangeMessageAccess.java
@@ -25,6 +25,7 @@
 
 public interface ChangeMessageAccess extends
     Access<ChangeMessage, ChangeMessage.Key> {
+  @Override
   @PrimaryKey("key")
   ChangeMessage get(ChangeMessage.Key id) throws OrmException;
 
diff --git a/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/server/PatchLineCommentAccess.java b/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/server/PatchLineCommentAccess.java
index a5842de..81f3e57 100644
--- a/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/server/PatchLineCommentAccess.java
+++ b/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/server/PatchLineCommentAccess.java
@@ -26,6 +26,7 @@
 
 public interface PatchLineCommentAccess extends
     Access<PatchLineComment, PatchLineComment.Key> {
+  @Override
   @PrimaryKey("key")
   PatchLineComment get(PatchLineComment.Key id) throws OrmException;
 
diff --git a/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/server/PatchSetAccess.java b/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/server/PatchSetAccess.java
index 703edbb..36e969e 100644
--- a/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/server/PatchSetAccess.java
+++ b/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/server/PatchSetAccess.java
@@ -24,6 +24,7 @@
 import com.google.gwtorm.server.ResultSet;
 
 public interface PatchSetAccess extends Access<PatchSet, PatchSet.Id> {
+  @Override
   @PrimaryKey("id")
   PatchSet get(PatchSet.Id id) throws OrmException;
 
diff --git a/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/server/PatchSetAncestorAccess.java b/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/server/PatchSetAncestorAccess.java
index 47d8971..02459d9 100644
--- a/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/server/PatchSetAncestorAccess.java
+++ b/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/server/PatchSetAncestorAccess.java
@@ -26,6 +26,7 @@
 
 public interface PatchSetAncestorAccess extends
     Access<PatchSetAncestor, PatchSetAncestor.Id> {
+  @Override
   @PrimaryKey("key")
   PatchSetAncestor get(PatchSetAncestor.Id key) throws OrmException;
 
diff --git a/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/server/PatchSetApprovalAccess.java b/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/server/PatchSetApprovalAccess.java
index e90e05a..cddee73 100644
--- a/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/server/PatchSetApprovalAccess.java
+++ b/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/server/PatchSetApprovalAccess.java
@@ -26,6 +26,7 @@
 
 public interface PatchSetApprovalAccess extends
     Access<PatchSetApproval, PatchSetApproval.Key> {
+  @Override
   @PrimaryKey("key")
   PatchSetApproval get(PatchSetApproval.Key key) throws OrmException;
 
diff --git a/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/server/SchemaVersionAccess.java b/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/server/SchemaVersionAccess.java
index 470f8c6..dda8d5c 100644
--- a/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/server/SchemaVersionAccess.java
+++ b/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/server/SchemaVersionAccess.java
@@ -22,6 +22,7 @@
 /** Access interface for {@link CurrentSchemaVersion}. */
 public interface SchemaVersionAccess extends
     Access<CurrentSchemaVersion, CurrentSchemaVersion.Key> {
+  @Override
   @PrimaryKey("singleton")
   CurrentSchemaVersion get(CurrentSchemaVersion.Key key) throws OrmException;
 }
diff --git a/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/server/StarredChangeAccess.java b/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/server/StarredChangeAccess.java
index 4010dae..5f57fe7 100644
--- a/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/server/StarredChangeAccess.java
+++ b/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/server/StarredChangeAccess.java
@@ -25,6 +25,7 @@
 
 public interface StarredChangeAccess extends
     Access<StarredChange, StarredChange.Key> {
+  @Override
   @PrimaryKey("key")
   StarredChange get(StarredChange.Key key) throws OrmException;
 
diff --git a/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/server/SubmoduleSubscriptionAccess.java b/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/server/SubmoduleSubscriptionAccess.java
index 8c67009..b25e406 100644
--- a/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/server/SubmoduleSubscriptionAccess.java
+++ b/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/server/SubmoduleSubscriptionAccess.java
@@ -25,6 +25,7 @@
 
 public interface SubmoduleSubscriptionAccess extends
     Access<SubmoduleSubscription, SubmoduleSubscription.Key> {
+  @Override
   @PrimaryKey("key")
   SubmoduleSubscription get(SubmoduleSubscription.Key key) throws OrmException;
 
diff --git a/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/server/SystemConfigAccess.java b/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/server/SystemConfigAccess.java
index 4b2ed74..3bc49dd 100644
--- a/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/server/SystemConfigAccess.java
+++ b/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/server/SystemConfigAccess.java
@@ -24,6 +24,7 @@
 /** Access interface for {@link SystemConfig}. */
 public interface SystemConfigAccess extends
     Access<SystemConfig, SystemConfig.Key> {
+  @Override
   @PrimaryKey("singleton")
   SystemConfig get(SystemConfig.Key key) throws OrmException;
 
diff --git a/gerrit-server/src/main/java/com/google/gerrit/common/ChangeHookRunner.java b/gerrit-server/src/main/java/com/google/gerrit/common/ChangeHookRunner.java
index 973149c..0a086f4 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/common/ChangeHookRunner.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/common/ChangeHookRunner.java
@@ -137,6 +137,7 @@
         return output;
       }
 
+      @Override
       public String toString() {
         StringBuilder sb = new StringBuilder();
 
@@ -243,7 +244,6 @@
       final ProjectCache projectCache,
       final AccountCache accountCache,
       final EventFactory eventFactory,
-      final SitePaths sitePaths,
       final DynamicSet<ChangeListener> unrestrictedListeners) {
         this.anonymousCowardName = anonymousCowardName;
         this.repoManager = repoManager;
@@ -276,10 +276,12 @@
               .build());
     }
 
+    @Override
     public void addChangeListener(ChangeListener listener, IdentifiedUser user) {
         listeners.put(listener, new ChangeListenerHolder(listener, user));
     }
 
+    @Override
     public void removeChangeListener(ChangeListener listener) {
         listeners.remove(listener);
     }
@@ -324,6 +326,7 @@
      * Fire the update hook
      *
      */
+    @Override
     public HookResult doRefUpdateHook(final Project project, final String refname,
         final Account uploader, final ObjectId oldId, final ObjectId newId) {
 
@@ -334,15 +337,7 @@
       addArg(args, "--oldrev", oldId.getName());
       addArg(args, "--newrev", newId.getName());
 
-      HookResult hookResult;
-
-      try {
-        hookResult = runSyncHook(project.getNameKey(), refUpdateHook, args);
-      } catch (TimeoutException e) {
-        hookResult = new HookResult(-1, "Synchronous hook timed out");
-      }
-
-      return hookResult;
+      return runSyncHook(project.getNameKey(), refUpdateHook, args);
     }
 
     /**
@@ -352,6 +347,7 @@
      * @param patchSet The Patchset that was created.
      * @throws OrmException
      */
+    @Override
     public void doPatchsetCreatedHook(final Change change, final PatchSet patchSet,
           final ReviewDb db) throws OrmException {
         final PatchSetCreatedEvent event = new PatchSetCreatedEvent();
@@ -379,6 +375,7 @@
         runHook(change.getProject(), patchsetCreatedHook, args);
     }
 
+    @Override
     public void doDraftPublishedHook(final Change change, final PatchSet patchSet,
           final ReviewDb db) throws OrmException {
         final DraftPublishedEvent event = new DraftPublishedEvent();
@@ -404,6 +401,7 @@
         runHook(change.getProject(), draftPublishedHook, args);
     }
 
+    @Override
     public void doCommentAddedHook(final Change change, final Account account,
           final PatchSet patchSet, final String comment, final Map<String, Short> approvals,
           final ReviewDb db) throws OrmException {
@@ -447,6 +445,7 @@
         runHook(change.getProject(), commentAddedHook, args);
     }
 
+    @Override
     public void doChangeMergedHook(final Change change, final Account account,
           final PatchSet patchSet, final ReviewDb db) throws OrmException {
         final ChangeMergedEvent event = new ChangeMergedEvent();
@@ -470,6 +469,7 @@
         runHook(change.getProject(), changeMergedHook, args);
     }
 
+    @Override
     public void doMergeFailedHook(final Change change, final Account account,
           final PatchSet patchSet, final String reason,
           final ReviewDb db) throws OrmException {
@@ -496,6 +496,7 @@
         runHook(change.getProject(), mergeFailedHook, args);
     }
 
+    @Override
     public void doChangeAbandonedHook(final Change change, final Account account,
           final PatchSet patchSet, final String reason, final ReviewDb db)
           throws OrmException {
@@ -522,6 +523,7 @@
         runHook(change.getProject(), changeAbandonedHook, args);
     }
 
+    @Override
     public void doChangeRestoredHook(final Change change, final Account account,
           final PatchSet patchSet, final String reason, final ReviewDb db)
           throws OrmException {
@@ -548,10 +550,12 @@
         runHook(change.getProject(), changeRestoredHook, args);
     }
 
+    @Override
     public void doRefUpdatedHook(final Branch.NameKey refName, final RefUpdate refUpdate, final Account account) {
       doRefUpdatedHook(refName, refUpdate.getOldObjectId(), refUpdate.getNewObjectId(), account);
     }
 
+    @Override
     public void doRefUpdatedHook(final Branch.NameKey refName, final ObjectId oldId, final ObjectId newId, final Account account) {
       final RefUpdatedEvent event = new RefUpdatedEvent();
 
@@ -573,6 +577,7 @@
       runHook(refName.getParentKey(), refUpdatedHook, args);
     }
 
+    @Override
     public void doReviewerAddedHook(final Change change, final Account account,
         final PatchSet patchSet, final ReviewDb db) throws OrmException {
       final ReviewerAddedEvent event = new ReviewerAddedEvent();
@@ -594,6 +599,7 @@
       runHook(change.getProject(), reviewerAddedHook, args);
     }
 
+    @Override
     public void doTopicChangedHook(final Change change, final Account account,
         final String oldTopic, final ReviewDb db)
             throws OrmException {
@@ -625,6 +631,7 @@
       return null;
     }
 
+    @Override
     public void doHashtagsChangedHook(Change change, Account account,
         Set<String> added, Set<String> removed, Set<String> hashtags, ReviewDb db)
             throws OrmException {
@@ -663,6 +670,7 @@
       runHook(change.getProject(), hashtagsChangedHook, args);
     }
 
+    @Override
     public void doClaSignupHook(Account account, ContributorAgreement cla) {
       if (account != null) {
         final List<String> args = new ArrayList<>();
@@ -786,7 +794,7 @@
   }
 
   private HookResult runSyncHook(Project.NameKey project,
-      File hook, List<String> args) throws TimeoutException {
+      File hook, List<String> args) {
 
     if (!hook.exists()) {
       return null;
diff --git a/gerrit-server/src/main/java/com/google/gerrit/rules/PrologCompiler.java b/gerrit-server/src/main/java/com/google/gerrit/rules/PrologCompiler.java
index 65c1c20..4724bc2 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/rules/PrologCompiler.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/rules/PrologCompiler.java
@@ -78,6 +78,7 @@
     git = gitRepository;
   }
 
+  @Override
   public Status call() throws IOException, CompileException {
     ObjectId metaConfig = git.resolve(RefNames.REFS_CONFIG);
     if (metaConfig == null) {
diff --git a/gerrit-server/src/main/java/com/google/gerrit/rules/StoredValue.java b/gerrit-server/src/main/java/com/google/gerrit/rules/StoredValue.java
index 132360b..d454e40 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/rules/StoredValue.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/rules/StoredValue.java
@@ -84,7 +84,12 @@
     env.set(this, obj);
   }
 
-  /** Creates a value to store, returns null by default. */
+  /**
+   * Creates a value to store, returns null by default.
+   *
+   * @param engine Prolog engine.
+   * @return new value.
+   */
   protected T createValue(Prolog engine) {
     return null;
   }
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/ApprovalCopier.java b/gerrit-server/src/main/java/com/google/gerrit/server/ApprovalCopier.java
index b74eb77..02ad0c4 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/ApprovalCopier.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/ApprovalCopier.java
@@ -150,8 +150,7 @@
   }
 
   private static boolean canCopy(ProjectState project, PatchSetApproval psa,
-      PatchSet.Id psId, NavigableSet<Integer> allPsIds, ChangeKind kind)
-      throws OrmException {
+      PatchSet.Id psId, NavigableSet<Integer> allPsIds, ChangeKind kind) {
     int n = psa.getKey().getParentKey().get();
     checkArgument(n != psId.get());
     LabelType type = project.getLabelTypes().byLabel(psa.getLabelId());
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/ApprovalsUtil.java b/gerrit-server/src/main/java/com/google/gerrit/server/ApprovalsUtil.java
index b4166ca..3e169f3 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/ApprovalsUtil.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/ApprovalsUtil.java
@@ -221,11 +221,12 @@
     return Collections.unmodifiableList(cells);
   }
 
-  public void addApprovals(ReviewDb db, ChangeUpdate update, LabelTypes labelTypes,
-      PatchSet ps, PatchSetInfo info, Change change, ChangeControl changeCtl,
-      Map<String, Short> approvals) throws OrmException {
+  public void addApprovals(ReviewDb db, ChangeUpdate update,
+      LabelTypes labelTypes, PatchSet ps, PatchSetInfo info,
+      ChangeControl changeCtl, Map<String, Short> approvals)
+      throws OrmException {
     if (!approvals.isEmpty()) {
-      checkApprovals(approvals, labelTypes, change, changeCtl);
+      checkApprovals(approvals, changeCtl);
       List<PatchSetApproval> cells = new ArrayList<>(approvals.size());
       Timestamp ts = TimeUtil.nowTs();
       for (Map.Entry<String, Short> vote : approvals.entrySet()) {
@@ -254,8 +255,8 @@
     }
   }
 
-  private static void checkApprovals(Map<String, Short> approvals, LabelTypes labelTypes,
-      Change change, ChangeControl changeCtl) {
+  private static void checkApprovals(Map<String, Short> approvals,
+      ChangeControl changeCtl) {
     for (Map.Entry<String, Short> vote : approvals.entrySet()) {
       String name = vote.getKey();
       Short value = vote.getValue();
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/ChangeUtil.java b/gerrit-server/src/main/java/com/google/gerrit/server/ChangeUtil.java
index 87d0cff..19231cf 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/ChangeUtil.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/ChangeUtil.java
@@ -24,7 +24,6 @@
 import com.google.common.collect.ImmutableList;
 import com.google.common.primitives.Ints;
 import com.google.gerrit.common.TimeUtil;
-import com.google.gerrit.common.errors.EmailException;
 import com.google.gerrit.extensions.restapi.ResourceNotFoundException;
 import com.google.gerrit.reviewdb.client.Change;
 import com.google.gerrit.reviewdb.client.ChangeMessage;
@@ -43,7 +42,6 @@
 import com.google.gerrit.server.git.validators.CommitValidators;
 import com.google.gerrit.server.index.ChangeIndexer;
 import com.google.gerrit.server.mail.RevertedSender;
-import com.google.gerrit.server.patch.PatchSetInfoNotAvailableException;
 import com.google.gerrit.server.project.ChangeControl;
 import com.google.gerrit.server.project.InvalidChangeOperationException;
 import com.google.gerrit.server.project.NoSuchChangeException;
@@ -251,7 +249,7 @@
 
   public Change.Id revert(ChangeControl ctl, PatchSet.Id patchSetId,
       String message, PersonIdent myIdent, SshInfo sshInfo)
-      throws NoSuchChangeException, EmailException, OrmException,
+      throws NoSuchChangeException, OrmException,
       MissingObjectException, IncorrectObjectTypeException, IOException,
       InvalidChangeOperationException {
     Change.Id changeId = patchSetId.getParentKey();
@@ -565,4 +563,4 @@
       dst.setCharAt(o--, '0');
     }
   }
-}
\ No newline at end of file
+}
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/MimeUtilFileTypeRegistry.java b/gerrit-server/src/main/java/com/google/gerrit/server/MimeUtilFileTypeRegistry.java
index 5263c6b..d0cfea0 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/MimeUtilFileTypeRegistry.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/MimeUtilFileTypeRegistry.java
@@ -92,6 +92,7 @@
     return mimeType.getSpecificity();
   }
 
+  @Override
   @SuppressWarnings("unchecked")
   public MimeType getMimeType(final String path, final byte[] content) {
     Set<MimeType> mimeTypes = new HashSet<>();
@@ -122,6 +123,7 @@
     return types.get(0);
   }
 
+  @Override
   public boolean isSafeInline(final MimeType type) {
     if (MimeUtil2.UNKNOWN_MIME_TYPE.equals(type)) {
       // Most browsers perform content type sniffing when they get told
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/RequestCleanup.java b/gerrit-server/src/main/java/com/google/gerrit/server/RequestCleanup.java
index b8c0888..6e12346 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/RequestCleanup.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/RequestCleanup.java
@@ -45,6 +45,7 @@
     }
   }
 
+  @Override
   public void run() {
     synchronized (cleanup) {
       ran = true;
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/access/ListAccess.java b/gerrit-server/src/main/java/com/google/gerrit/server/access/ListAccess.java
index 5d651ae..580897f 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/access/ListAccess.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/access/ListAccess.java
@@ -37,7 +37,6 @@
 import com.google.gerrit.server.config.AllProjectsName;
 import com.google.gerrit.server.git.MetaDataUpdate;
 import com.google.gerrit.server.git.ProjectConfig;
-import com.google.gerrit.server.group.GroupJson;
 import com.google.gerrit.server.project.NoSuchProjectException;
 import com.google.gerrit.server.project.ProjectCache;
 import com.google.gerrit.server.project.ProjectControl;
@@ -78,7 +77,7 @@
       ProjectCache projectCache, ProjectJson projectJson,
       MetaDataUpdate.Server metaDataUpdateFactory,
       GroupControl.Factory groupControlFactory, GroupBackend groupBackend,
-      GroupJson groupJson, AllProjectsName allProjectsName) {
+      AllProjectsName allProjectsName) {
     this.self = self;
     this.projectControlFactory = projectControlFactory;
     this.projectCache = projectCache;
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/account/AccountByEmailCacheImpl.java b/gerrit-server/src/main/java/com/google/gerrit/server/account/AccountByEmailCacheImpl.java
index 4827ed5..45d3d1f 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/account/AccountByEmailCacheImpl.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/account/AccountByEmailCacheImpl.java
@@ -65,6 +65,7 @@
     this.cache = cache;
   }
 
+  @Override
   public Set<Account.Id> get(final String email) {
     try {
       return cache.get(email);
@@ -74,6 +75,7 @@
     }
   }
 
+  @Override
   public void evict(final String email) {
     if (email != null) {
       cache.invalidate(email);
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/account/AccountCacheImpl.java b/gerrit-server/src/main/java/com/google/gerrit/server/account/AccountCacheImpl.java
index c64eba7..6394a5b 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/account/AccountCacheImpl.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/account/AccountCacheImpl.java
@@ -79,6 +79,7 @@
     this.byName = byUsername;
   }
 
+  @Override
   public AccountState get(Account.Id accountId) {
     try {
       return byId.get(accountId);
@@ -88,6 +89,7 @@
     }
   }
 
+  @Override
   public AccountState getIfPresent(Account.Id accountId) {
     return byId.getIfPresent(accountId);
   }
@@ -103,12 +105,14 @@
     }
   }
 
+  @Override
   public void evict(Account.Id accountId) {
     if (accountId != null) {
       byId.invalidate(accountId);
     }
   }
 
+  @Override
   public void evictByUsername(String username) {
     if (username != null) {
       byName.invalidate(username);
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/account/AccountManager.java b/gerrit-server/src/main/java/com/google/gerrit/server/account/AccountManager.java
index be85a26..c981755 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/account/AccountManager.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/account/AccountManager.java
@@ -62,7 +62,7 @@
       final IdentifiedUser.GenericFactory userFactory,
       final ChangeUserName.Factory changeUserNameFactory,
       final ProjectCache projectCache,
-      final AuditService auditService) throws OrmException {
+      final AuditService auditService) {
     this.schema = schema;
     this.byIdCache = byIdCache;
     this.byEmailCache = byEmailCache;
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/account/ChangeUserName.java b/gerrit-server/src/main/java/com/google/gerrit/server/account/ChangeUserName.java
index 6dd51e1..1005569 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/account/ChangeUserName.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/account/ChangeUserName.java
@@ -87,6 +87,7 @@
     this.newUsername = newUsername;
   }
 
+  @Override
   public VoidResult call() throws OrmException, NameAlreadyUsedException,
       InvalidUserNameException {
     final Collection<AccountExternalId> old = old();
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/account/EmailExpander.java b/gerrit-server/src/main/java/com/google/gerrit/server/account/EmailExpander.java
index c664377..f60492e 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/account/EmailExpander.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/account/EmailExpander.java
@@ -65,6 +65,7 @@
       return !user.contains(" ");
     }
 
+    @Override
     public String expand(final String user) {
       return lhs + user + rhs;
     }
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/account/GroupControl.java b/gerrit-server/src/main/java/com/google/gerrit/server/account/GroupControl.java
index ede2431..a3a2809 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/account/GroupControl.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/account/GroupControl.java
@@ -150,11 +150,11 @@
     return isOwner;
   }
 
-  public boolean canAddMember(Account.Id id) {
+  public boolean canAddMember() {
     return isOwner();
   }
 
-  public boolean canRemoveMember(Account.Id id) {
+  public boolean canRemoveMember() {
     return isOwner();
   }
 
@@ -166,15 +166,15 @@
     return canSeeMembers();
   }
 
-  public boolean canAddGroup(AccountGroup.UUID uuid) {
+  public boolean canAddGroup() {
     return isOwner();
   }
 
-  public boolean canRemoveGroup(AccountGroup.UUID uuid) {
+  public boolean canRemoveGroup() {
     return isOwner();
   }
 
-  public boolean canSeeGroup(AccountGroup.UUID uuid) {
+  public boolean canSeeGroup() {
     return canSeeMembers();
   }
 
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/account/GroupDetailFactory.java b/gerrit-server/src/main/java/com/google/gerrit/server/account/GroupDetailFactory.java
index 889addf..9c806de 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/account/GroupDetailFactory.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/account/GroupDetailFactory.java
@@ -92,6 +92,7 @@
     }
 
     Collections.sort(members, new Comparator<AccountGroupMember>() {
+      @Override
       public int compare(final AccountGroupMember o1,
           final AccountGroupMember o2) {
         final Account a = aic.get(o1.getAccountId());
@@ -120,13 +121,14 @@
     List<AccountGroupById> groups = new ArrayList<>();
 
     for (final AccountGroupById m : db.accountGroupById().byGroup(groupId)) {
-      if (control.canSeeGroup(m.getIncludeUUID())) {
+      if (control.canSeeGroup()) {
         gic.want(m.getIncludeUUID());
         groups.add(m);
       }
     }
 
     Collections.sort(groups, new Comparator<AccountGroupById>() {
+      @Override
       public int compare(final AccountGroupById o1,
           final AccountGroupById o2) {
         GroupDescription.Basic a = gic.get(o1.getIncludeUUID());
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/auth/ldap/Helper.java b/gerrit-server/src/main/java/com/google/gerrit/server/auth/ldap/Helper.java
index cc61695..d45b851 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/auth/ldap/Helper.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/auth/ldap/Helper.java
@@ -235,7 +235,7 @@
 
   Set<AccountGroup.UUID> queryForGroups(final DirContext ctx,
       final String username, LdapQuery.Result account)
-      throws NamingException, AccountException {
+      throws NamingException {
     final LdapSchema schema = getSchema(ctx);
     final Set<String> groupDNs = new HashSet<>();
 
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/cache/ForwardingRemovalListener.java b/gerrit-server/src/main/java/com/google/gerrit/server/cache/ForwardingRemovalListener.java
index b99648b..69d523b 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/cache/ForwardingRemovalListener.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/cache/ForwardingRemovalListener.java
@@ -52,6 +52,7 @@
     }
   }
 
+  @Override
   @SuppressWarnings("unchecked")
   public void onRemoval(RemovalNotification<K, V> notification) {
     for (CacheRemovalListener<K, V> l : listeners) {
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/change/ChangeEdits.java b/gerrit-server/src/main/java/com/google/gerrit/server/change/ChangeEdits.java
index 84d0e40..7d823c3 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/change/ChangeEdits.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/change/ChangeEdits.java
@@ -182,8 +182,7 @@
     }
 
     private Optional<ChangeEdit> createEdit() throws AuthException,
-        IOException, ResourceConflictException, OrmException,
-        InvalidChangeOperationException {
+        IOException, ResourceConflictException, OrmException {
       editModifier.createEdit(change,
           db.get().patchSets().get(change.currentPatchSetId()));
       return editUtil.byChange(change);
@@ -342,7 +341,7 @@
 
     private Optional<ChangeEdit> createEdit(Change change)
         throws AuthException, IOException, ResourceConflictException,
-        OrmException, InvalidChangeOperationException {
+        OrmException {
       editModifier.createEdit(change,
           db.get().patchSets().get(change.currentPatchSetId()));
       return editUtil.byChange(change);
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/change/ChangeInserter.java b/gerrit-server/src/main/java/com/google/gerrit/server/change/ChangeInserter.java
index 184f1a8..4f19c8e 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/change/ChangeInserter.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/change/ChangeInserter.java
@@ -200,7 +200,7 @@
       approvalsUtil.addReviewers(db, update, labelTypes, change,
           patchSet, patchSetInfo, reviewers, Collections.<Account.Id> emptySet());
       approvalsUtil.addApprovals(db, update, labelTypes, patchSet, patchSetInfo,
-          change, ctl, approvals);
+          ctl, approvals);
       if (messageIsForChange()) {
         cmUtil.addChangeMessage(db, update, changeMessage);
       }
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/change/ChangeJson.java b/gerrit-server/src/main/java/com/google/gerrit/server/change/ChangeJson.java
index e25c75f..66f1388 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/change/ChangeJson.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/change/ChangeJson.java
@@ -89,7 +89,6 @@
 import com.google.gerrit.server.patch.PatchSetInfoFactory;
 import com.google.gerrit.server.patch.PatchSetInfoNotAvailableException;
 import com.google.gerrit.server.project.ChangeControl;
-import com.google.gerrit.server.project.ProjectControl;
 import com.google.gerrit.server.project.SubmitRuleEvaluator;
 import com.google.gerrit.server.query.change.ChangeData;
 import com.google.gerrit.server.query.change.ChangeData.ChangedLines;
@@ -142,7 +141,6 @@
       Provider<CurrentUser> user,
       AnonymousUser au,
       IdentifiedUser.GenericFactory uf,
-      ProjectControl.GenericFactory pcf,
       ChangeData.Factory cdf,
       PatchSetInfoFactory psi,
       FileInfoJson fileInfoJson,
@@ -246,7 +244,7 @@
   }
 
   private List<ChangeInfo> toChangeInfo(Map<Change.Id, ChangeInfo> out,
-      List<ChangeData> changes, Set<Change.Id> reviewed) throws OrmException {
+      List<ChangeData> changes, Set<Change.Id> reviewed) {
     List<ChangeInfo> info = Lists.newArrayListWithCapacity(changes.size());
     for (ChangeData cd : changes) {
       ChangeInfo i = out.get(cd.getId());
@@ -303,7 +301,7 @@
           || limitToPsId.get().equals(in.currentPatchSetId())) {
         out.permittedLabels = permittedLabels(ctl, cd);
       }
-      out.removableReviewers = removableReviewers(ctl, cd, out.labels.values());
+      out.removableReviewers = removableReviewers(ctl, out.labels.values());
     }
 
     Map<PatchSet.Id, PatchSet> src = loadPatchSets(cd, limitToPsId);
@@ -315,7 +313,7 @@
     if (has(ALL_REVISIONS)
         || has(CURRENT_REVISION)
         || limitToPsId.isPresent()) {
-      out.revisions = revisions(ctl, cd, limitToPsId, out.project, src);
+      out.revisions = revisions(ctl, cd, out.project, src);
       if (out.revisions != null) {
         for (Map.Entry<String, RevisionInfo> entry : out.revisions.entrySet()) {
           if (entry.getValue().isCurrent) {
@@ -390,7 +388,7 @@
   private Map<String, LabelInfo> labelsForOpenChange(ChangeControl ctl,
       ChangeData cd, LabelTypes labelTypes, boolean standard, boolean detailed)
       throws OrmException {
-    Map<String, LabelInfo> labels = initLabels(ctl, cd, labelTypes, standard);
+    Map<String, LabelInfo> labels = initLabels(cd, labelTypes, standard);
     if (detailed) {
       setAllApprovals(ctl, cd, labels);
     }
@@ -415,7 +413,7 @@
     return labels;
   }
 
-  private Map<String, LabelInfo> initLabels(ChangeControl ctl, ChangeData cd,
+  private Map<String, LabelInfo> initLabels(ChangeData cd,
       LabelTypes labelTypes, boolean standard) throws OrmException {
     // Don't use Maps.newTreeMap(Comparator) due to OpenJDK bug 100167.
     Map<String, LabelInfo> labels = new TreeMap<>(labelTypes.nameComparator());
@@ -451,8 +449,7 @@
   }
 
   private void setLabelScores(LabelType type,
-      LabelInfo label, short score, Account.Id accountId)
-      throws OrmException {
+      LabelInfo label, short score, Account.Id accountId) {
     if (label.approved != null || label.rejected != null) {
       return;
     }
@@ -685,8 +682,8 @@
     return result;
   }
 
-  private Collection<AccountInfo> removableReviewers(ChangeControl ctl, ChangeData cd,
-      Collection<LabelInfo> labels) throws OrmException {
+  private Collection<AccountInfo> removableReviewers(ChangeControl ctl,
+      Collection<LabelInfo> labels) {
     Set<Account.Id> fixed = Sets.newHashSetWithExpectedSize(labels.size());
     Set<Account.Id> removable = Sets.newHashSetWithExpectedSize(labels.size());
     for (LabelInfo label : labels) {
@@ -755,8 +752,7 @@
   }
 
   private Map<String, RevisionInfo> revisions(ChangeControl ctl, ChangeData cd,
-      Optional<PatchSet.Id> limitToPsId, String project,
-      Map<PatchSet.Id, PatchSet> map) throws OrmException {
+      String project, Map<PatchSet.Id, PatchSet> map) throws OrmException {
     Map<String, RevisionInfo> res = Maps.newLinkedHashMap();
     for (PatchSet in : map.values()) {
       if ((has(ALL_REVISIONS)
@@ -802,7 +798,7 @@
     out.isCurrent = in.getId().equals(cd.change().currentPatchSetId());
     out._number = in.getId().get();
     out.draft = in.isDraft() ? true : null;
-    out.fetch = makeFetchMap(ctl, cd, in);
+    out.fetch = makeFetchMap(ctl, in);
 
     if (has(ALL_COMMITS) || (out.isCurrent && has(CURRENT_COMMIT))) {
       try {
@@ -869,7 +865,7 @@
     return commit;
   }
 
-  private Map<String, FetchInfo> makeFetchMap(ChangeControl ctl, ChangeData cd, PatchSet in)
+  private Map<String, FetchInfo> makeFetchMap(ChangeControl ctl, PatchSet in)
       throws OrmException {
     Map<String, FetchInfo> r = Maps.newLinkedHashMap();
 
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/change/ChangesCollection.java b/gerrit-server/src/main/java/com/google/gerrit/server/change/ChangesCollection.java
index 7cc3027..3c61b86 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/change/ChangesCollection.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/change/ChangesCollection.java
@@ -95,7 +95,7 @@
         IdString.fromUrl(Integer.toString(id.get())));
   }
 
-  public ChangeResource parse(ChangeControl control) throws OrmException {
+  public ChangeResource parse(ChangeControl control) {
     return new ChangeResource(control);
   }
 
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/change/CherryPickChange.java b/gerrit-server/src/main/java/com/google/gerrit/server/change/CherryPickChange.java
index bd1d1bd..3d52845 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/change/CherryPickChange.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/change/CherryPickChange.java
@@ -15,7 +15,6 @@
 package com.google.gerrit.server.change;
 
 import com.google.gerrit.common.TimeUtil;
-import com.google.gerrit.common.errors.EmailException;
 import com.google.gerrit.reviewdb.client.Branch;
 import com.google.gerrit.reviewdb.client.Change;
 import com.google.gerrit.reviewdb.client.ChangeMessage;
@@ -100,7 +99,7 @@
   public Change.Id cherryPick(final PatchSet.Id patchSetId,
       final String message, final String destinationBranch,
       final RefControl refControl) throws NoSuchChangeException,
-      EmailException, OrmException, MissingObjectException,
+      OrmException, MissingObjectException,
       IncorrectObjectTypeException, IOException,
       InvalidChangeOperationException, MergeException {
 
@@ -183,8 +182,8 @@
         } else if (destChanges.size() == 1) {
           // The change key exists on the destination branch. The cherry pick
           // will be added as a new patch set.
-          return insertPatchSet(git, revWalk, destChanges.get(0), patchSetId,
-              cherryPickCommit, refControl, identifiedUser);
+          return insertPatchSet(git, revWalk, destChanges.get(0), cherryPickCommit,
+              refControl, identifiedUser);
         } else {
           // Change key not found on destination branch. We can create a new
           // change.
@@ -200,8 +199,8 @@
   }
 
   private Change.Id insertPatchSet(Repository git, RevWalk revWalk, Change change,
-      PatchSet.Id patchSetId, RevCommit cherryPickCommit,
-      RefControl refControl, IdentifiedUser identifiedUser)
+      RevCommit cherryPickCommit, RefControl refControl,
+      IdentifiedUser identifiedUser)
       throws InvalidChangeOperationException, IOException, OrmException,
       NoSuchChangeException {
     final ChangeControl changeControl =
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/change/DeleteDraftChange.java b/gerrit-server/src/main/java/com/google/gerrit/server/change/DeleteDraftChange.java
index a1da117..a863552 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/change/DeleteDraftChange.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/change/DeleteDraftChange.java
@@ -25,7 +25,6 @@
 import com.google.gerrit.server.ChangeUtil;
 import com.google.gerrit.server.change.DeleteDraftChange.Input;
 import com.google.gerrit.server.config.GerritServerConfig;
-import com.google.gerrit.server.patch.PatchSetInfoFactory;
 import com.google.gerrit.server.project.NoSuchChangeException;
 import com.google.gwtorm.server.OrmException;
 import com.google.inject.Inject;
@@ -48,7 +47,6 @@
 
   @Inject
   public DeleteDraftChange(Provider<ReviewDb> dbProvider,
-      PatchSetInfoFactory patchSetInfoFactory,
       ChangeUtil changeUtil,
       @GerritServerConfig Config cfg) {
     this.dbProvider = dbProvider;
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/change/ListComments.java b/gerrit-server/src/main/java/com/google/gerrit/server/change/ListComments.java
index 146ded8..7896403 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/change/ListComments.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/change/ListComments.java
@@ -37,6 +37,7 @@
     return true;
   }
 
+  @Override
   protected Iterable<PatchLineComment> listComments(RevisionResource rsrc)
       throws OrmException {
     ChangeNotes notes = rsrc.getNotes();
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/change/Mergeable.java b/gerrit-server/src/main/java/com/google/gerrit/server/change/Mergeable.java
index 3605868..e5800e3 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/change/Mergeable.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/change/Mergeable.java
@@ -214,7 +214,7 @@
       SubmitType type,
       Repository git,
       Map<String, Ref> refs,
-      final Ref ref) throws IOException, OrmException {
+      final Ref ref) {
     RevWalk rw = new RevWalk(git) {
       @Override
       protected CodeReviewCommit createCommit(AnyObjectId id) {
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/change/PatchSetInserter.java b/gerrit-server/src/main/java/com/google/gerrit/server/change/PatchSetInserter.java
index d5d1f26..7322f30 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/change/PatchSetInserter.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/change/PatchSetInserter.java
@@ -179,8 +179,7 @@
     return this;
   }
 
-  public PatchSetInserter setMessage(ChangeMessage changeMessage)
-      throws OrmException {
+  public PatchSetInserter setMessage(ChangeMessage changeMessage) {
     this.changeMessage = changeMessage;
     return this;
   }
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/change/PostReview.java b/gerrit-server/src/main/java/com/google/gerrit/server/change/PostReview.java
index 26a6f1a..18b08b5 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/change/PostReview.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/change/PostReview.java
@@ -331,7 +331,7 @@
 
   private boolean insertComments(RevisionResource rsrc,
       ChangeUpdate update, Map<String, List<CommentInput>> in, DraftHandling draftsHandling)
-      throws OrmException, IOException {
+      throws OrmException {
     if (in == null) {
       in = Collections.emptyMap();
     }
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/change/PostReviewers.java b/gerrit-server/src/main/java/com/google/gerrit/server/change/PostReviewers.java
index 48b8855..5a223f7 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/change/PostReviewers.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/change/PostReviewers.java
@@ -150,7 +150,7 @@
   }
 
   private PostResult putAccount(ReviewerResource rsrc) throws OrmException,
-      EmailException, IOException {
+      IOException {
     Account.Id id = rsrc.getUser().getAccountId();
     ChangeControl control = rsrc.getControl().forUser(
         identifiedUserFactory.create(id));
@@ -161,7 +161,7 @@
 
   private PostResult putGroup(ChangeResource rsrc, AddReviewerInput input)
       throws BadRequestException,
-      UnprocessableEntityException, OrmException, EmailException, IOException {
+      UnprocessableEntityException, OrmException, IOException {
     GroupDescription.Basic group = groupsCollection.parseInternal(input.reviewer);
     PostResult result = new PostResult();
     if (!isLegalReviewerGroup(group.getGroupUUID())) {
@@ -222,7 +222,7 @@
 
   private void addReviewers(ChangeResource rsrc, PostResult result,
       Map<Account.Id, ChangeControl> reviewers)
-      throws OrmException, EmailException, IOException {
+      throws OrmException, IOException {
     ReviewDb db = dbProvider.get();
     ChangeUpdate update = updateFactory.create(rsrc.getControl());
     List<PatchSetApproval> added;
@@ -260,8 +260,7 @@
     }
   }
 
-  private void emailReviewers(Change change, List<PatchSetApproval> added)
-      throws OrmException, EmailException {
+  private void emailReviewers(Change change, List<PatchSetApproval> added) {
     if (added.isEmpty()) {
       return;
     }
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/change/Publish.java b/gerrit-server/src/main/java/com/google/gerrit/server/change/Publish.java
index 88da094..428f48fe 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/change/Publish.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/change/Publish.java
@@ -31,7 +31,6 @@
 import com.google.gerrit.server.index.ChangeIndexer;
 import com.google.gerrit.server.mail.PatchSetNotificationSender;
 import com.google.gerrit.server.notedb.ChangeUpdate;
-import com.google.gerrit.server.patch.PatchSetInfoNotAvailableException;
 import com.google.gwtorm.server.AtomicUpdate;
 import com.google.gwtorm.server.OrmException;
 import com.google.inject.Inject;
@@ -91,21 +90,17 @@
     ChangeUpdate update = updateFactory.create(rsrc.getControl(),
         updatedChange.getLastUpdatedOn());
 
-    try {
-      if (!updatedPatchSet.isDraft()
-          || updatedChange.getStatus() == Change.Status.NEW) {
-        CheckedFuture<?, IOException> indexFuture =
-            indexer.indexAsync(updatedChange.getId());
-        sender.send(rsrc.getNotes(), update,
-            rsrc.getChange().getStatus() == Change.Status.DRAFT,
-            rsrc.getUser(), updatedChange, updatedPatchSet,
-            rsrc.getControl().getLabelTypes());
-        indexFuture.checkedGet();
-        hooks.doDraftPublishedHook(updatedChange, updatedPatchSet,
-            dbProvider.get());
-      }
-    } catch (PatchSetInfoNotAvailableException e) {
-      throw new ResourceNotFoundException(e.getMessage());
+    if (!updatedPatchSet.isDraft()
+        || updatedChange.getStatus() == Change.Status.NEW) {
+      CheckedFuture<?, IOException> indexFuture =
+          indexer.indexAsync(updatedChange.getId());
+      sender.send(rsrc.getNotes(), update,
+          rsrc.getChange().getStatus() == Change.Status.DRAFT,
+          rsrc.getUser(), updatedChange, updatedPatchSet,
+          rsrc.getControl().getLabelTypes());
+      indexFuture.checkedGet();
+      hooks.doDraftPublishedHook(updatedChange, updatedPatchSet,
+          dbProvider.get());
     }
 
     return Response.none();
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/change/ReviewerJson.java b/gerrit-server/src/main/java/com/google/gerrit/server/change/ReviewerJson.java
index d300ba4..804af4e 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/change/ReviewerJson.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/change/ReviewerJson.java
@@ -29,7 +29,6 @@
 import com.google.gerrit.reviewdb.server.ReviewDb;
 import com.google.gerrit.server.ApprovalsUtil;
 import com.google.gerrit.server.account.AccountInfo;
-import com.google.gerrit.server.notedb.ChangeNotes;
 import com.google.gerrit.server.project.ChangeControl;
 import com.google.gerrit.server.project.SubmitRuleEvaluator;
 import com.google.gerrit.server.query.change.ChangeData;
@@ -68,8 +67,7 @@
     for (ReviewerResource rsrc : rsrcs) {
       ReviewerInfo info = format(new ReviewerInfo(
           rsrc.getUser().getAccountId()),
-          rsrc.getUserControl(),
-          rsrc.getNotes());
+          rsrc.getUserControl());
       loader.put(info);
       infos.add(info);
     }
@@ -81,8 +79,7 @@
     return format(ImmutableList.<ReviewerResource> of(rsrc));
   }
 
-  public ReviewerInfo format(ReviewerInfo out, ChangeControl ctl,
-      ChangeNotes changeNotes) throws OrmException {
+  public ReviewerInfo format(ReviewerInfo out, ChangeControl ctl) throws OrmException {
     PatchSet.Id psId = ctl.getChange().currentPatchSetId();
     return format(out, ctl,
         approvalsUtil.byPatchSetUser(db.get(), ctl, psId, out._id));
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/change/Revisions.java b/gerrit-server/src/main/java/com/google/gerrit/server/change/Revisions.java
index 08e60ee..f32b41c 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/change/Revisions.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/change/Revisions.java
@@ -31,7 +31,6 @@
 import com.google.gerrit.reviewdb.server.ReviewDb;
 import com.google.gerrit.server.edit.ChangeEdit;
 import com.google.gerrit.server.edit.ChangeEditUtil;
-import com.google.gerrit.server.project.InvalidChangeOperationException;
 import com.google.gwtorm.server.OrmException;
 import com.google.inject.Inject;
 import com.google.inject.Provider;
@@ -163,7 +162,7 @@
               new RevisionResource(change, ps, edit));
         }
       }
-    } catch (AuthException | IOException | InvalidChangeOperationException e) {
+    } catch (AuthException | IOException e) {
       throw new OrmException(e);
     }
     return Collections.emptyList();
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/config/AllProjectsNameProvider.java b/gerrit-server/src/main/java/com/google/gerrit/server/config/AllProjectsNameProvider.java
index 73074b7..2f25da4 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/config/AllProjectsNameProvider.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/config/AllProjectsNameProvider.java
@@ -33,6 +33,7 @@
     name = new AllProjectsName(n);
   }
 
+  @Override
   public AllProjectsName get() {
     return name;
   }
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/config/AllUsersNameProvider.java b/gerrit-server/src/main/java/com/google/gerrit/server/config/AllUsersNameProvider.java
index e6ec095..f5aa127 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/config/AllUsersNameProvider.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/config/AllUsersNameProvider.java
@@ -33,6 +33,7 @@
     name = new AllUsersName(n);
   }
 
+  @Override
   public AllUsersName get() {
     return name;
   }
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/config/DownloadConfig.java b/gerrit-server/src/main/java/com/google/gerrit/server/config/DownloadConfig.java
index 80031c2..2d9f21a 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/config/DownloadConfig.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/config/DownloadConfig.java
@@ -16,7 +16,6 @@
 
 import com.google.gerrit.reviewdb.client.AccountGeneralPreferences.DownloadCommand;
 import com.google.gerrit.reviewdb.client.AccountGeneralPreferences.DownloadScheme;
-import com.google.gerrit.reviewdb.client.SystemConfig;
 import com.google.inject.Inject;
 import com.google.inject.Singleton;
 
@@ -34,8 +33,7 @@
   private final Set<DownloadCommand> downloadCommands;
 
   @Inject
-  DownloadConfig(@GerritServerConfig final Config cfg,
-      final SystemConfig s) {
+  DownloadConfig(@GerritServerConfig final Config cfg) {
     List<DownloadScheme> allSchemes =
         ConfigUtil.getEnumList(cfg, "download", null, "scheme",
             DownloadScheme.DEFAULT_DOWNLOADS);
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/config/ProjectConfigEntry.java b/gerrit-server/src/main/java/com/google/gerrit/server/config/ProjectConfigEntry.java
index 385570b..5943801 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/config/ProjectConfigEntry.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/config/ProjectConfigEntry.java
@@ -185,23 +185,59 @@
     return permittedValues;
   }
 
+  /**
+   * @param project project state.
+   * @return whether the project is editable.
+   */
   public boolean isEditable(ProjectState project) {
     return true;
   }
 
+  /**
+   * @param project project state.
+   * @return any warning associated with the project.
+   */
   public String getWarning(ProjectState project) {
     return null;
   }
 
+  /**
+   * Called after a project config is updated.
+   *
+   * @param project project name.
+   * @param oldValue old entry value.
+   * @param newValue new entry value.
+   */
   public void onUpdate(Project.NameKey project, String oldValue, String newValue) {
   }
 
+  /**
+   * Called after a project config is updated.
+   *
+   * @param project project name.
+   * @param oldValue old entry value.
+   * @param newValue new entry value.
+   */
   public void onUpdate(Project.NameKey project, Boolean oldValue, Boolean newValue) {
   }
 
+  /**
+   * Called after a project config is updated.
+   *
+   * @param project project name.
+   * @param oldValue old entry value.
+   * @param newValue new entry value.
+   */
   public void onUpdate(Project.NameKey project, Integer oldValue, Integer newValue) {
   }
 
+  /**
+   * Called after a project config is updated.
+   *
+   * @param project project name.
+   * @param oldValue old entry value.
+   * @param newValue new entry value.
+   */
   public void onUpdate(Project.NameKey project, Long oldValue, Long newValue) {
   }
 
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/config/TrackingFootersProvider.java b/gerrit-server/src/main/java/com/google/gerrit/server/config/TrackingFootersProvider.java
index a76b010..2554781 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/config/TrackingFootersProvider.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/config/TrackingFootersProvider.java
@@ -81,6 +81,7 @@
     }
   }
 
+  @Override
   public TrackingFooters get() {
     return new TrackingFooters(trackingFooters);
   }
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/contact/EncryptedContactStore.java b/gerrit-server/src/main/java/com/google/gerrit/server/contact/EncryptedContactStore.java
index aca91ab..3c56cb4 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/contact/EncryptedContactStore.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/contact/EncryptedContactStore.java
@@ -38,6 +38,8 @@
 import org.bouncycastle.openpgp.PGPPublicKeyRing;
 import org.bouncycastle.openpgp.PGPPublicKeyRingCollection;
 import org.bouncycastle.openpgp.PGPUtil;
+import org.bouncycastle.openpgp.operator.bc.BcPGPDataEncryptorBuilder;
+import org.bouncycastle.openpgp.operator.bc.BcPublicKeyKeyEncryptionMethodGenerator;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -132,6 +134,7 @@
     return null;
   }
 
+  @Override
   public void store(final Account account, final ContactInformation info)
       throws ContactInformationStoreException {
     try {
@@ -167,12 +170,16 @@
     }
   }
 
-  @SuppressWarnings("deprecation")
   private final PGPEncryptedDataGenerator cpk()
       throws NoSuchProviderException, PGPException {
+    final BcPGPDataEncryptorBuilder builder =
+        new BcPGPDataEncryptorBuilder(PGPEncryptedData.CAST5)
+            .setSecureRandom(prng);
     PGPEncryptedDataGenerator cpk =
-        new PGPEncryptedDataGenerator(PGPEncryptedData.CAST5, true, prng, "BC");
-    cpk.addMethod(dest);
+        new PGPEncryptedDataGenerator(builder, true);
+    final BcPublicKeyKeyEncryptionMethodGenerator methodGenerator =
+        new BcPublicKeyKeyEncryptionMethodGenerator(dest);
+    cpk.addMethod(methodGenerator);
     return cpk;
   }
 
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/edit/ChangeEditJson.java b/gerrit-server/src/main/java/com/google/gerrit/server/edit/ChangeEditJson.java
index 276eba6..40a0bef 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/edit/ChangeEditJson.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/edit/ChangeEditJson.java
@@ -35,7 +35,6 @@
 
 import org.eclipse.jgit.revwalk.RevCommit;
 
-import java.io.IOException;
 import java.util.Map;
 
 @Singleton
@@ -53,8 +52,7 @@
     this.userProvider = userProvider;
   }
 
-  public EditInfo toEditInfo(ChangeEdit edit, boolean downloadCommands)
-      throws IOException {
+  public EditInfo toEditInfo(ChangeEdit edit, boolean downloadCommands) {
     EditInfo out = new EditInfo();
     out.commit = fillCommit(edit.getEditCommit());
     out.baseRevision = edit.getBasePatchSet().getRevision().get();
@@ -65,7 +63,7 @@
     return out;
   }
 
-  private static CommitInfo fillCommit(RevCommit editCommit) throws IOException {
+  private static CommitInfo fillCommit(RevCommit editCommit) {
     CommitInfo commit = new CommitInfo();
     commit.commit = editCommit.toObjectId().getName();
     commit.parents = Lists.newArrayListWithCapacity(1);
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/edit/ChangeEditModifier.java b/gerrit-server/src/main/java/com/google/gerrit/server/edit/ChangeEditModifier.java
index 91bf65d..ad59093 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/edit/ChangeEditModifier.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/edit/ChangeEditModifier.java
@@ -22,7 +22,6 @@
 import com.google.gerrit.extensions.restapi.ResourceConflictException;
 import com.google.gerrit.reviewdb.client.Change;
 import com.google.gerrit.reviewdb.client.PatchSet;
-import com.google.gerrit.reviewdb.server.ReviewDb;
 import com.google.gerrit.server.CurrentUser;
 import com.google.gerrit.server.GerritPersonIdent;
 import com.google.gerrit.server.IdentifiedUser;
@@ -84,7 +83,6 @@
   @Inject
   ChangeEditModifier(@GerritPersonIdent PersonIdent gerritIdent,
       GitRepositoryManager gitManager,
-      Provider<ReviewDb> dbProvider,
       Provider<CurrentUser> currentUser) {
     this.gitManager = gitManager;
     this.currentUser = currentUser;
@@ -284,7 +282,7 @@
 
         RevCommit base = prevEdit.getParent(0);
         base = rw.parseCommit(base);
-        ObjectId newTree = writeNewTree(op, repo, rw, inserter,
+        ObjectId newTree = writeNewTree(op, rw, inserter,
             prevEdit, reader, file, content, base);
         if (ObjectId.equals(newTree, prevEdit.getTree())) {
           throw new InvalidChangeOperationException("no changes were made");
@@ -330,14 +328,13 @@
     return res;
   }
 
-  private static ObjectId writeNewTree(TreeOperation op, Repository repo, RevWalk rw,
+  private static ObjectId writeNewTree(TreeOperation op, RevWalk rw,
       ObjectInserter ins, RevCommit prevEdit, ObjectReader reader,
       String fileName, byte[] content, RevCommit base)
       throws IOException, InvalidChangeOperationException {
     DirCache newTree = createTree(reader, prevEdit);
     editTree(
         op,
-        repo,
         rw,
         base,
         newTree.editor(),
@@ -347,27 +344,27 @@
     return newTree.writeTree(ins);
   }
 
-  private static void editTree(TreeOperation op, Repository repo, RevWalk rw,
-      RevCommit base, DirCacheEditor dce, ObjectInserter ins, String path,
-      byte[] content) throws IOException, InvalidChangeOperationException {
+  private static void editTree(TreeOperation op, RevWalk rw, RevCommit base,
+      DirCacheEditor dce, ObjectInserter ins, String path, byte[] content)
+      throws IOException, InvalidChangeOperationException {
     switch (op) {
       case DELETE_ENTRY:
         dce.add(new DeletePath(path));
         break;
       case CHANGE_ENTRY:
       case RESTORE_ENTRY:
-        dce.add(getPathEdit(op, repo, rw, base, path, ins, content));
+        dce.add(getPathEdit(op, rw, base, path, ins, content));
         break;
     }
     dce.finish();
   }
 
-  private static PathEdit getPathEdit(TreeOperation op, Repository repo, RevWalk rw,
+  private static PathEdit getPathEdit(TreeOperation op, RevWalk rw,
       RevCommit base, String path, ObjectInserter ins, byte[] content)
       throws IOException, InvalidChangeOperationException {
     final ObjectId oid = op == TreeOperation.CHANGE_ENTRY
         ? ins.insert(Constants.OBJ_BLOB, content)
-        : getObjectIdForRestoreOperation(repo, rw, base, path);
+        : getObjectIdForRestoreOperation(rw, base, path);
     return new PathEdit(path) {
       @Override
       public void apply(DirCacheEntry ent) {
@@ -377,8 +374,8 @@
     };
   }
 
-  private static ObjectId getObjectIdForRestoreOperation(Repository repo,
-      RevWalk rw, RevCommit base, String path)
+  private static ObjectId getObjectIdForRestoreOperation(RevWalk rw,
+      RevCommit base, String path)
       throws IOException, InvalidChangeOperationException {
     TreeWalk tw = TreeWalk.forPath(rw.getObjectReader(), path,
         base.getTree().getId());
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/edit/ChangeEditUtil.java b/gerrit-server/src/main/java/com/google/gerrit/server/edit/ChangeEditUtil.java
index 5abb2e2..2c83121 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/edit/ChangeEditUtil.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/edit/ChangeEditUtil.java
@@ -89,7 +89,7 @@
    * @throws IOException
    */
   public Optional<ChangeEdit> byChange(Change change)
-      throws AuthException, IOException, InvalidChangeOperationException {
+      throws AuthException, IOException {
     if (!user.get().isIdentifiedUser()) {
       throw new AuthException("Authentication required");
     }
@@ -148,8 +148,7 @@
         }
 
         insertPatchSet(edit, change, repo, rw, basePatchSet,
-            squashEdit(repo, rw, inserter, edit.getEditCommit(),
-                basePatchSet));
+            squashEdit(rw, inserter, edit.getEditCommit(), basePatchSet));
       } finally {
         inserter.release();
         rw.release();
@@ -180,7 +179,7 @@
   }
 
   private PatchSet getBasePatchSet(Change change, Ref ref)
-      throws IOException, InvalidChangeOperationException {
+      throws IOException {
     try {
       int pos = ref.getName().lastIndexOf("/");
       checkArgument(pos > 0, "invalid edit ref: %s", ref.getName());
@@ -220,8 +219,8 @@
         changeId.get());
   }
 
-  private RevCommit squashEdit(Repository repo, RevWalk rw,
-      ObjectInserter inserter, RevCommit edit, PatchSet basePatchSet)
+  private RevCommit squashEdit(RevWalk rw, ObjectInserter inserter,
+      RevCommit edit, PatchSet basePatchSet)
       throws IOException, ResourceConflictException {
     RevCommit parent = rw.parseCommit(ObjectId.fromString(
         basePatchSet.getRevision().get()));
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/git/BanCommit.java b/gerrit-server/src/main/java/com/google/gerrit/server/git/BanCommit.java
index b97ddb5..21465ef 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/git/BanCommit.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/git/BanCommit.java
@@ -90,8 +90,8 @@
 
   public BanCommitResult ban(final ProjectControl projectControl,
       final List<ObjectId> commitsToBan, final String reason)
-      throws PermissionDeniedException, IOException, InterruptedException,
-      MergeException, ConcurrentRefUpdateException {
+      throws PermissionDeniedException, IOException,
+      ConcurrentRefUpdateException {
     if (!projectControl.isOwner()) {
       throw new PermissionDeniedException(
           "Not project owner: not permitted to ban commits");
@@ -113,7 +113,7 @@
           } catch (MissingObjectException e) {
             // Ignore exception, non-existing commits can be banned.
           } catch (IncorrectObjectTypeException e) {
-            result.notACommit(commitToBan, e.getMessage());
+            result.notACommit(commitToBan);
             continue;
           }
           if (noteId == null) {
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/git/BanCommitResult.java b/gerrit-server/src/main/java/com/google/gerrit/server/git/BanCommitResult.java
index c1afb6b..92c3b6c 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/git/BanCommitResult.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/git/BanCommitResult.java
@@ -32,7 +32,7 @@
     alreadyBannedCommits.add(commitId);
   }
 
-  public void notACommit(final ObjectId id, final String message) {
+  public void notACommit(final ObjectId id) {
     ignoredObjectIds.add(id);
   }
 
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/git/LocalDiskRepositoryManager.java b/gerrit-server/src/main/java/com/google/gerrit/server/git/LocalDiskRepositoryManager.java
index 1844292..f5ec962 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/git/LocalDiskRepositoryManager.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/git/LocalDiskRepositoryManager.java
@@ -156,6 +156,7 @@
     return basePath;
   }
 
+  @Override
   public Repository openRepository(Project.NameKey name)
       throws RepositoryNotFoundException {
     return openRepository(basePath, name);
@@ -202,6 +203,7 @@
     }
   }
 
+  @Override
   public Repository createRepository(Project.NameKey name)
       throws RepositoryNotFoundException, RepositoryCaseMismatchException {
     Repository repo = createRepository(basePath, name);
@@ -277,6 +279,7 @@
     }
   }
 
+  @Override
   public String getProjectDescription(final Project.NameKey name)
       throws RepositoryNotFoundException, IOException {
     final Repository e = openRepository(name);
@@ -309,6 +312,7 @@
     return description;
   }
 
+  @Override
   public void setProjectDescription(final Project.NameKey name,
       final String description) {
     // Update git's description file, in case gitweb is being used
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/git/MergeOp.java b/gerrit-server/src/main/java/com/google/gerrit/server/git/MergeOp.java
index 6db0cfa..1c49bc6 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/git/MergeOp.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/git/MergeOp.java
@@ -481,7 +481,7 @@
   }
 
   private ListMultimap<SubmitType, Change> validateChangeList(
-      List<Change> submitted) throws MergeException, NoSuchChangeException {
+      List<Change> submitted) throws MergeException {
     ListMultimap<SubmitType, Change> toSubmit = ArrayListMultimap.create();
 
     Map<String, Ref> allRefs;
@@ -606,11 +606,7 @@
       }
 
       SubmitType submitType;
-      try {
-        submitType = getSubmitType(commit.getControl(), ps);
-      } catch (OrmException err) {
-        throw new MergeException("Cannot check submit type", err);
-      }
+      submitType = getSubmitType(commit.getControl(), ps);
       if (submitType == null) {
         logError("No submit type for revision " + idstr + " of patch set "
             + ps.getId());
@@ -626,8 +622,7 @@
     return toSubmit;
   }
 
-  private SubmitType getSubmitType(ChangeControl ctl, PatchSet ps)
-      throws OrmException {
+  private SubmitType getSubmitType(ChangeControl ctl, PatchSet ps) {
     try {
       ChangeData cd = changeDataFactory.create(db, ctl);
       SubmitTypeRecord r = new SubmitRuleEvaluator(cd).setPatchSet(ps)
@@ -923,7 +918,7 @@
   }
 
   private void setMerged(Change c, ChangeMessage msg)
-      throws OrmException, IOException, NoSuchChangeException {
+      throws OrmException, IOException {
     logDebug("Setting change {} merged", c.getId());
     ChangeUpdate update = null;
     try {
@@ -1039,7 +1034,7 @@
   }
 
   private void setNew(Change c, ChangeMessage msg)
-      throws OrmException, NoSuchChangeException, IOException {
+      throws NoSuchChangeException, IOException {
     sendMergeFail(notesFactory.create(c), msg, true);
   }
 
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/git/MetaDataUpdate.java b/gerrit-server/src/main/java/com/google/gerrit/server/git/MetaDataUpdate.java
index 5e4ffab..c71c94f 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/git/MetaDataUpdate.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/git/MetaDataUpdate.java
@@ -96,8 +96,7 @@
      *     the update.
      */
     public MetaDataUpdate create(Project.NameKey name, Repository repository,
-        IdentifiedUser user, BatchRefUpdate batch)
-        throws RepositoryNotFoundException, IOException {
+        IdentifiedUser user, BatchRefUpdate batch) {
       MetaDataUpdate md = factory.create(name, repository, batch);
       md.getCommitBuilder().setAuthor(createPersonIdent(user));
       md.getCommitBuilder().setCommitter(serverIdent);
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/git/ProjectConfig.java b/gerrit-server/src/main/java/com/google/gerrit/server/git/ProjectConfig.java
index 3142798..4d5db88 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/git/ProjectConfig.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/git/ProjectConfig.java
@@ -639,7 +639,7 @@
         valueText);
   }
 
-  private void loadLabelSections(Config rc) throws IOException {
+  private void loadLabelSections(Config rc) {
     Map<String, String> lowerNames = Maps.newHashMapWithExpectedSize(2);
     labelSections = Maps.newLinkedHashMap();
     for (String name : rc.getSubsections(LABEL)) {
@@ -1101,6 +1101,7 @@
     }
   }
 
+  @Override
   public void error(ValidationError error) {
     if (validationErrors == null) {
       validationErrors = new ArrayList<>(4);
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/git/ReceiveCommits.java b/gerrit-server/src/main/java/com/google/gerrit/server/git/ReceiveCommits.java
index c1c0788..49080f7 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/git/ReceiveCommits.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/git/ReceiveCommits.java
@@ -26,7 +26,6 @@
 import static org.eclipse.jgit.transport.ReceiveCommand.Result.REJECTED_MISSING_OBJECT;
 import static org.eclipse.jgit.transport.ReceiveCommand.Result.REJECTED_NONFASTFORWARD;
 import static org.eclipse.jgit.transport.ReceiveCommand.Result.REJECTED_OTHER_REASON;
-import static org.eclipse.jgit.transport.ReceiveCommand.Type.UPDATE;
 
 import com.google.common.base.Function;
 import com.google.common.base.Joiner;
@@ -76,7 +75,6 @@
 import com.google.gerrit.server.ApprovalsUtil;
 import com.google.gerrit.server.ChangeMessagesUtil;
 import com.google.gerrit.server.ChangeUtil;
-import com.google.gerrit.server.GerritPersonIdent;
 import com.google.gerrit.server.IdentifiedUser;
 import com.google.gerrit.server.account.AccountCache;
 import com.google.gerrit.server.account.AccountResolver;
@@ -368,7 +366,6 @@
       final ChangeInserter.Factory changeInserterFactory,
       final CommitValidators.Factory commitValidatorsFactory,
       @CanonicalWebUrl final String canonicalWebUrl,
-      @GerritPersonIdent final PersonIdent gerritIdent,
       final WorkQueue workQueue,
       @ChangeUpdateExecutor ListeningExecutorService changeUpdateExector,
       final RequestScopePropagator requestScopePropagator,
@@ -598,49 +595,44 @@
 
     for (final ReceiveCommand c : commands) {
         if (c.getResult() == OK) {
-          try {
-            if (c.getType() == UPDATE) { // otherwise known as a fast-forward
-                tagCache.updateFastForward(project.getNameKey(),
-                    c.getRefName(),
-                    c.getOldId(),
-                    c.getNewId());
-            }
-
-            if (isHead(c) || isConfig(c)) {
-              switch (c.getType()) {
-                case CREATE:
-                case UPDATE:
-                case UPDATE_NONFASTFORWARD:
-                  autoCloseChanges(c);
-                  break;
-
-                case DELETE:
-                  break;
-              }
-            }
-
-            if (isConfig(c)) {
-              projectCache.evict(project);
-              ProjectState ps = projectCache.get(project.getNameKey());
-              repoManager.setProjectDescription(project.getNameKey(), //
-                  ps.getProject().getDescription());
-            }
-
-            if (!MagicBranch.isMagicBranch(c.getRefName())) {
-              // We only fire gitRefUpdated for direct refs updates.
-              // Events for change refs are fired when they are created.
-              //
-              gitRefUpdated.fire(project.getNameKey(), c.getRefName(),
-                  c.getOldId(), c.getNewId());
-              hooks.doRefUpdatedHook(
-                  new Branch.NameKey(project.getNameKey(), c.getRefName()),
+          if (c.getType() == ReceiveCommand.Type.UPDATE) { // aka fast-forward
+              tagCache.updateFastForward(project.getNameKey(),
+                  c.getRefName(),
                   c.getOldId(),
-                  c.getNewId(),
-                  currentUser.getAccount());
+                  c.getNewId());
+          }
+
+          if (isHead(c) || isConfig(c)) {
+            switch (c.getType()) {
+              case CREATE:
+              case UPDATE:
+              case UPDATE_NONFASTFORWARD:
+                autoCloseChanges(c);
+                break;
+
+              case DELETE:
+                break;
             }
-          } catch (NoSuchChangeException e) {
-            c.setResult(REJECTED_OTHER_REASON,
-                "No such change: " + e.getMessage());
+          }
+
+          if (isConfig(c)) {
+            projectCache.evict(project);
+            ProjectState ps = projectCache.get(project.getNameKey());
+            repoManager.setProjectDescription(project.getNameKey(), //
+                ps.getProject().getDescription());
+          }
+
+          if (!MagicBranch.isMagicBranch(c.getRefName())) {
+            // We only fire gitRefUpdated for direct refs updates.
+            // Events for change refs are fired when they are created.
+            //
+            gitRefUpdated.fire(project.getNameKey(), c.getRefName(),
+                c.getOldId(), c.getNewId());
+            hooks.doRefUpdatedHook(
+                new Branch.NameKey(project.getNameKey(), c.getRefName()),
+                c.getOldId(),
+                c.getNewId(),
+                currentUser.getAccount());
           }
         }
     }
@@ -1553,7 +1545,7 @@
           return Collections.emptyList();
         }
 
-        List<Change> changes = p.changes.toList();
+        List<Change> changes = p.destChanges.toList();
         if (changes.size() > 1) {
           // WTF, multiple changes in this project have the same key?
           // Since the commit is new, the user should recreate it with
@@ -1636,12 +1628,12 @@
   private class ChangeLookup {
     final RevCommit commit;
     final Change.Key changeKey;
-    final ResultSet<Change> changes;
+    final ResultSet<Change> destChanges;
 
     ChangeLookup(RevCommit c, Change.Key key) throws OrmException {
       commit = c;
       changeKey = key;
-      changes = db.changes().byBranchKey(magicBranch.dest, key);
+      destChanges = db.changes().byBranchKey(magicBranch.dest, key);
     }
   }
 
@@ -2102,7 +2094,7 @@
         approvalsUtil.addReviewers(db, update, labelTypes, change, newPatchSet,
             info, recipients.getReviewers(), oldRecipients.getAll());
         approvalsUtil.addApprovals(db, update, labelTypes, newPatchSet, info,
-            change, changeCtl, approvals);
+            changeCtl, approvals);
         recipients.add(oldRecipients);
 
         cmUtil.addChangeMessage(db, update, newChangeMessage(db));
@@ -2354,7 +2346,7 @@
   }
 
   private boolean validCommit(final RefControl ctl, final ReceiveCommand cmd,
-      final RevCommit c) throws MissingObjectException, IOException {
+      final RevCommit c) {
 
     if (validCommits.contains(c)) {
       return true;
@@ -2377,7 +2369,7 @@
     return true;
   }
 
-  private void autoCloseChanges(final ReceiveCommand cmd) throws NoSuchChangeException {
+  private void autoCloseChanges(final ReceiveCommand cmd) {
     final RevWalk rw = rp.getRevWalk();
     try {
       RevCommit newTip = rw.parseCommit(cmd.getNewId());
@@ -2391,7 +2383,7 @@
       }
 
       final SetMultimap<ObjectId, Ref> byCommit = changeRefsById();
-      Map<Change.Key, Change.Id> byKey = null;
+      Map<Change.Key, Change> byKey = null;
       final List<ReplaceRequest> toClose = new ArrayList<>();
       for (RevCommit c; (c = rw.next()) != null;) {
         rw.parseBody(c);
@@ -2410,10 +2402,11 @@
             byKey = openChangesByKey(branch);
           }
 
-          final Change.Id onto = byKey.get(new Change.Key(changeId.trim()));
+          final Change onto = byKey.get(new Change.Key(changeId.trim()));
           if (onto != null) {
-            final ReplaceRequest req = new ReplaceRequest(onto, c, cmd, false);
-            req.change = db.changes().get(onto);
+            final ReplaceRequest req =
+                new ReplaceRequest(onto.getId(), c, cmd, false);
+            req.change = onto;
             toClose.add(req);
             break;
           }
@@ -2481,7 +2474,7 @@
     return change.getKey();
   }
 
-  private SetMultimap<ObjectId, Ref> changeRefsById() throws IOException {
+  private SetMultimap<ObjectId, Ref> changeRefsById() {
     if (refsById == null) {
       refsById =  HashMultimap.create();
       for (Ref r : refsByChange().values()) {
@@ -2491,11 +2484,11 @@
     return refsById;
   }
 
-  private Map<Change.Key, Change.Id> openChangesByKey(Branch.NameKey branch)
+  private Map<Change.Key, Change> openChangesByKey(Branch.NameKey branch)
       throws OrmException {
-    final Map<Change.Key, Change.Id> r = new HashMap<>();
+    final Map<Change.Key, Change> r = new HashMap<>();
     for (Change c : db.changes().byBranchOpenAll(branch)) {
-      r.put(c.getKey(), c.getId());
+      r.put(c.getKey(), c);
     }
     return r;
   }
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/git/ReloadSubmitQueueOp.java b/gerrit-server/src/main/java/com/google/gerrit/server/git/ReloadSubmitQueueOp.java
index dd7a85b..266ce1a 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/git/ReloadSubmitQueueOp.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/git/ReloadSubmitQueueOp.java
@@ -43,6 +43,7 @@
     mergeQueue = mq;
   }
 
+  @Override
   public void run() {
     final HashSet<Branch.NameKey> pending = new HashSet<>();
     try {
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/git/ReviewNoteMerger.java b/gerrit-server/src/main/java/com/google/gerrit/server/git/ReviewNoteMerger.java
index 60f1d0d..0c384b7 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/git/ReviewNoteMerger.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/git/ReviewNoteMerger.java
@@ -51,6 +51,7 @@
 import java.io.IOException;
 
 class ReviewNoteMerger implements NoteMerger {
+  @Override
   public Note merge(Note base, Note ours, Note theirs, ObjectReader reader,
       ObjectInserter inserter) throws IOException {
     if (ours == null) {
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/git/SubmoduleOp.java b/gerrit-server/src/main/java/com/google/gerrit/server/git/SubmoduleOp.java
index 5a1e50d..2e41894 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/git/SubmoduleOp.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/git/SubmoduleOp.java
@@ -318,6 +318,7 @@
       DirCacheEditor ed = dc.editor();
       for (final Map.Entry<Branch.NameKey, ObjectId> me : modules.entrySet()) {
         ed.add(new PathEdit(paths.get(me.getKey())) {
+          @Override
           public void apply(DirCacheEntry ent) {
             ent.setFileMode(FileMode.GITLINK);
             ent.setObjectId(me.getValue().copy());
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/git/WorkQueue.java b/gerrit-server/src/main/java/com/google/gerrit/server/git/WorkQueue.java
index dcc579b..0b9f7e6 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/git/WorkQueue.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/git/WorkQueue.java
@@ -312,6 +312,7 @@
       return startTime;
     }
 
+    @Override
     public boolean cancel(boolean mayInterruptIfRunning) {
       if (task.cancel(mayInterruptIfRunning)) {
         // Tiny abuse of running: if the task needs to know it was
@@ -333,35 +334,43 @@
       }
     }
 
+    @Override
     public int compareTo(Delayed o) {
       return task.compareTo(o);
     }
 
+    @Override
     public V get() throws InterruptedException, ExecutionException {
       return task.get();
     }
 
+    @Override
     public V get(long timeout, TimeUnit unit) throws InterruptedException,
         ExecutionException, TimeoutException {
       return task.get(timeout, unit);
     }
 
+    @Override
     public long getDelay(TimeUnit unit) {
       return task.getDelay(unit);
     }
 
+    @Override
     public boolean isCancelled() {
       return task.isCancelled();
     }
 
+    @Override
     public boolean isDone() {
       return task.isDone();
     }
 
+    @Override
     public boolean isPeriodic() {
       return task.isPeriodic();
     }
 
+    @Override
     public void run() {
       if (running.compareAndSet(false, true)) {
         try {
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/git/strategy/FastForwardOnly.java b/gerrit-server/src/main/java/com/google/gerrit/server/git/strategy/FastForwardOnly.java
index 0b18c0f..32eeafc 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/git/strategy/FastForwardOnly.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/git/strategy/FastForwardOnly.java
@@ -52,6 +52,7 @@
     return false;
   }
 
+  @Override
   public boolean dryRun(final CodeReviewCommit mergeTip,
       final CodeReviewCommit toMerge) throws MergeException {
     return args.mergeUtil.canFastForward(args.mergeSorter, mergeTip, args.rw,
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/git/validators/CommitValidators.java b/gerrit-server/src/main/java/com/google/gerrit/server/git/validators/CommitValidators.java
index cad5174..4336e12 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/git/validators/CommitValidators.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/git/validators/CommitValidators.java
@@ -102,7 +102,7 @@
         refControl, gerritIdent));
     validators.add(new AuthorUploaderValidator(refControl, canonicalWebUrl));
     validators.add(new CommitterUploaderValidator(refControl, canonicalWebUrl));
-    validators.add(new SignedOffByValidator(refControl, canonicalWebUrl));
+    validators.add(new SignedOffByValidator(refControl));
     if (MagicBranch.isMagicBranch(receiveEvent.command.getRefName())
         || ReceiveCommits.NEW_PATCHSET.matcher(
             receiveEvent.command.getRefName()).matches()) {
@@ -136,7 +136,7 @@
     validators.add(new AmendedGerritMergeCommitValidationListener(
         refControl, gerritIdent));
     validators.add(new AuthorUploaderValidator(refControl, canonicalWebUrl));
-    validators.add(new SignedOffByValidator(refControl, canonicalWebUrl));
+    validators.add(new SignedOffByValidator(refControl));
     if (MagicBranch.isMagicBranch(receiveEvent.command.getRefName())
         || ReceiveCommits.NEW_PATCHSET.matcher(
             receiveEvent.command.getRefName()).matches()) {
@@ -396,7 +396,7 @@
   public static class SignedOffByValidator implements CommitValidationListener {
     private final RefControl refControl;
 
-    public SignedOffByValidator(RefControl refControl, String canonicalWebUrl) {
+    public SignedOffByValidator(RefControl refControl) {
       this.refControl = refControl;
     }
 
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/group/AddIncludedGroups.java b/gerrit-server/src/main/java/com/google/gerrit/server/group/AddIncludedGroups.java
index 361a773..24bb4e3 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/group/AddIncludedGroups.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/group/AddIncludedGroups.java
@@ -104,7 +104,7 @@
 
     for (String includedGroup : input.groups) {
       GroupDescription.Basic d = groupsCollection.parse(includedGroup);
-      if (!control.canAddGroup(d.getGroupUUID())) {
+      if (!control.canAddGroup()) {
         throw new AuthException(String.format("Cannot add group: %s",
             d.getName()));
       }
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/group/AddMembers.java b/gerrit-server/src/main/java/com/google/gerrit/server/group/AddMembers.java
index aaeffd9..6002088 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/group/AddMembers.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/group/AddMembers.java
@@ -125,7 +125,7 @@
             "Account Inactive: %s", nameOrEmail));
       }
 
-      if (!control.canAddMember(a.getId())) {
+      if (!control.canAddMember()) {
         throw new AuthException("Cannot add member: " + a.getFullName());
       }
 
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/group/DeleteIncludedGroups.java b/gerrit-server/src/main/java/com/google/gerrit/server/group/DeleteIncludedGroups.java
index 74d5946..977c0aa 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/group/DeleteIncludedGroups.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/group/DeleteIncludedGroups.java
@@ -76,7 +76,7 @@
 
     for (final String includedGroup : input.groups) {
       GroupDescription.Basic d = groupsCollection.parse(includedGroup);
-      if (!control.canRemoveGroup(d.getGroupUUID())) {
+      if (!control.canRemoveGroup()) {
         throw new AuthException(String.format("Cannot delete group: %s",
             d.getName()));
       }
@@ -109,8 +109,7 @@
     return groups;
   }
 
-  private void writeAudits(final List<AccountGroupById> toRemoved)
-      throws OrmException {
+  private void writeAudits(final List<AccountGroupById> toRemoved) {
     final Account.Id me = ((IdentifiedUser) self.get()).getAccountId();
     auditService.dispatchDeleteGroupsFromGroup(me, toRemoved);
   }
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/group/DeleteMembers.java b/gerrit-server/src/main/java/com/google/gerrit/server/group/DeleteMembers.java
index 605933b..3047994 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/group/DeleteMembers.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/group/DeleteMembers.java
@@ -77,7 +77,7 @@
     for (final String nameOrEmail : input.members) {
       Account a = accounts.parse(nameOrEmail).getAccount();
 
-      if (!control.canRemoveMember(a.getId())) {
+      if (!control.canRemoveMember()) {
         throw new AuthException("Cannot delete member: " + a.getFullName());
       }
 
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/group/IncludedGroupsCollection.java b/gerrit-server/src/main/java/com/google/gerrit/server/group/IncludedGroupsCollection.java
index 72f17b4..8d0831d 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/group/IncludedGroupsCollection.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/group/IncludedGroupsCollection.java
@@ -73,7 +73,7 @@
     GroupDescription.Basic member =
         groupsCollection.parse(TopLevelResource.INSTANCE, id).getGroup();
     if (isMember(parent, member)
-        && resource.getControl().canSeeGroup(member.getGroupUUID())) {
+        && resource.getControl().canSeeGroup()) {
       return new IncludedGroupResource(resource, member);
     }
     throw new ResourceNotFoundException(id);
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/group/ListMembers.java b/gerrit-server/src/main/java/com/google/gerrit/server/group/ListMembers.java
index c4b2ae2..ad16a7e 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/group/ListMembers.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/group/ListMembers.java
@@ -72,12 +72,12 @@
   }
 
   public List<AccountInfo> apply(AccountGroup group)
-      throws MethodNotAllowedException, OrmException {
+      throws OrmException {
     return apply(group.getGroupUUID());
   }
 
   public List<AccountInfo> apply(AccountGroup.UUID groupId)
-      throws MethodNotAllowedException, OrmException {
+      throws OrmException {
     final Map<Account.Id, AccountInfo> members =
         getMembers(groupId, new HashSet<AccountGroup.UUID>());
     final List<AccountInfo> memberInfos = Lists.newArrayList(members.values());
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/mail/AbandonedSender.java b/gerrit-server/src/main/java/com/google/gerrit/server/mail/AbandonedSender.java
index 8387f51..adcf242 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/mail/AbandonedSender.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/mail/AbandonedSender.java
@@ -24,6 +24,7 @@
 public class AbandonedSender extends ReplyToChangeSender {
   public static interface Factory extends
       ReplyToChangeSender.Factory<AbandonedSender> {
+    @Override
     AbandonedSender create(Change change);
   }
 
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/mail/ChangeEmail.java b/gerrit-server/src/main/java/com/google/gerrit/server/mail/ChangeEmail.java
index d38c5a3..405b3a8 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/mail/ChangeEmail.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/mail/ChangeEmail.java
@@ -72,6 +72,7 @@
     emailOnlyAuthors = false;
   }
 
+  @Override
   public void setFrom(final Account.Id id) {
     super.setFrom(id);
 
@@ -94,6 +95,7 @@
   }
 
   /** Format the message body by calling {@link #appendText(String)}. */
+  @Override
   protected void format() throws EmailException {
     formatChange();
     appendText(velocifyFile("ChangeFooter.vm"));
@@ -114,11 +116,16 @@
   /** Format the message body by calling {@link #appendText(String)}. */
   protected abstract void formatChange() throws EmailException;
 
-  /** Format the message footer by calling {@link #appendText(String)}. */
+  /**
+   * Format the message footer by calling {@link #appendText(String)}.
+   *
+   * @throws EmailException if an error occurred.
+   */
   protected void formatFooter() throws EmailException {
   }
 
   /** Setup the message headers and envelope (TO, CC, BCC). */
+  @Override
   protected void init() throws EmailException {
     if (args.projectCache != null) {
       projectState = args.projectCache.get(change.getProject());
@@ -324,12 +331,14 @@
     }
   }
 
+  @Override
   protected void add(final RecipientType rt, final Account.Id to) {
     if (! emailOnlyAuthors || authors.contains(to)) {
       super.add(rt, to);
     }
   }
 
+  @Override
   protected boolean isVisibleTo(final Account.Id to) throws OrmException {
     return projectState == null
         || projectState.controlFor(args.identifiedUserFactory.create(to))
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/mail/OutgoingEmail.java b/gerrit-server/src/main/java/com/google/gerrit/server/mail/OutgoingEmail.java
index 49acda8..bc3ff4f 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/mail/OutgoingEmail.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/mail/OutgoingEmail.java
@@ -128,7 +128,11 @@
   /** Format the message body by calling {@link #appendText(String)}. */
   protected abstract void format() throws EmailException;
 
-  /** Setup the message headers and envelope (TO, CC, BCC). */
+  /**
+   * Setup the message headers and envelope (TO, CC, BCC).
+   *
+   * @throws EmailException if an error occurred.
+   */
   protected void init() throws EmailException {
     setupVelocityContext();
 
@@ -315,6 +319,11 @@
     }
   }
 
+  /**
+   * @param to account.
+   * @throws OrmException
+   * @return whether this email is visible to the given account.
+   */
   protected boolean isVisibleTo(final Account.Id to) throws OrmException {
     return true;
   }
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/mail/PatchSetNotificationSender.java b/gerrit-server/src/main/java/com/google/gerrit/server/mail/PatchSetNotificationSender.java
index 76b896a..667d834 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/mail/PatchSetNotificationSender.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/mail/PatchSetNotificationSender.java
@@ -16,7 +16,6 @@
 
 import static com.google.gerrit.server.mail.MailUtil.getRecipientsFromFooters;
 
-import com.google.gerrit.common.ChangeHooks;
 import com.google.gerrit.common.data.LabelTypes;
 import com.google.gerrit.reviewdb.client.Account;
 import com.google.gerrit.reviewdb.client.Change;
@@ -29,12 +28,10 @@
 import com.google.gerrit.server.IdentifiedUser;
 import com.google.gerrit.server.account.AccountResolver;
 import com.google.gerrit.server.git.GitRepositoryManager;
-import com.google.gerrit.server.index.ChangeIndexer;
 import com.google.gerrit.server.mail.MailUtil.MailRecipients;
 import com.google.gerrit.server.notedb.ChangeNotes;
 import com.google.gerrit.server.notedb.ChangeUpdate;
 import com.google.gerrit.server.patch.PatchSetInfoFactory;
-import com.google.gerrit.server.patch.PatchSetInfoNotAvailableException;
 import com.google.gwtorm.server.OrmException;
 import com.google.inject.Inject;
 import com.google.inject.Provider;
@@ -65,14 +62,12 @@
 
   @Inject
   public PatchSetNotificationSender(Provider<ReviewDb> db,
-      ChangeHooks hooks,
       GitRepositoryManager repoManager,
       PatchSetInfoFactory patchSetInfoFactory,
       ApprovalsUtil approvalsUtil,
       AccountResolver accountResolver,
       CreateChangeSender.Factory createChangeSenderFactory,
-      ReplacePatchSetSender.Factory replacePatchSetFactory,
-      ChangeIndexer indexer) {
+      ReplacePatchSetSender.Factory replacePatchSetFactory) {
     this.db = db;
     this.repoManager = repoManager;
     this.patchSetInfoFactory = patchSetInfoFactory;
@@ -86,7 +81,7 @@
       final boolean newChange, final IdentifiedUser currentUser,
       final Change updatedChange, final PatchSet updatedPatchSet,
       final LabelTypes labelTypes)
-      throws OrmException, IOException, PatchSetInfoNotAvailableException {
+      throws OrmException, IOException {
     final Repository git = repoManager.openRepository(updatedChange.getProject());
     try {
       final RevWalk revWalk = new RevWalk(git);
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/mail/ProjectWatch.java b/gerrit-server/src/main/java/com/google/gerrit/server/mail/ProjectWatch.java
index 3d16372..fe69d0b 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/mail/ProjectWatch.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/mail/ProjectWatch.java
@@ -85,7 +85,7 @@
       for (NotifyConfig nc : state.getConfig().getNotifyConfigs()) {
         if (nc.isNotify(type)) {
           try {
-            add(matching, nc, state.getProject().getNameKey());
+            add(matching, nc);
           } catch (QueryParseException e) {
             log.warn(String.format(
                 "Project %s has invalid notify %s filter \"%s\"",
@@ -121,7 +121,7 @@
     }
   }
 
-  private void add(Watchers matching, NotifyConfig nc, Project.NameKey project)
+  private void add(Watchers matching, NotifyConfig nc)
       throws OrmException, QueryParseException {
     for (GroupReference ref : nc.getGroups()) {
       CurrentUser user = new SingleGroupUser(args.capabilityControlFactory,
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/mail/RestoredSender.java b/gerrit-server/src/main/java/com/google/gerrit/server/mail/RestoredSender.java
index 7f464f7..4f65ab4 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/mail/RestoredSender.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/mail/RestoredSender.java
@@ -24,6 +24,7 @@
 public class RestoredSender extends ReplyToChangeSender {
   public static interface Factory extends
       ReplyToChangeSender.Factory<RestoredSender> {
+    @Override
     RestoredSender create(Change change);
   }
 
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/mail/SignedTokenEmailTokenVerifier.java b/gerrit-server/src/main/java/com/google/gerrit/server/mail/SignedTokenEmailTokenVerifier.java
index 92fffde..d74eaeb 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/mail/SignedTokenEmailTokenVerifier.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/mail/SignedTokenEmailTokenVerifier.java
@@ -46,6 +46,7 @@
     emailRegistrationToken = config.getEmailRegistrationToken();
   }
 
+  @Override
   public String encode(Account.Id accountId, String emailAddress) {
     try {
       String payload = String.format("%s:%s", accountId, emailAddress);
@@ -59,6 +60,7 @@
     }
   }
 
+  @Override
   public ParsedToken decode(String tokenString) throws InvalidTokenException {
     ValidToken token;
     try {
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/mail/VelocityRuntimeProvider.java b/gerrit-server/src/main/java/com/google/gerrit/server/mail/VelocityRuntimeProvider.java
index 32098d5..ace1f5b 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/mail/VelocityRuntimeProvider.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/mail/VelocityRuntimeProvider.java
@@ -37,6 +37,7 @@
     this.site = site;
   }
 
+  @Override
   public RuntimeInstance get() {
     String rl = "resource.loader";
     String pkg = "org.apache.velocity.runtime.resource.loader";
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/notedb/ChangeDraftUpdate.java b/gerrit-server/src/main/java/com/google/gerrit/server/notedb/ChangeDraftUpdate.java
index eb7f6c4..3b51bb4 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/notedb/ChangeDraftUpdate.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/notedb/ChangeDraftUpdate.java
@@ -250,7 +250,7 @@
 
   private void updateNoteMap(boolean changed, NoteMap noteMap,
       List<PatchLineComment> comments, RevId commitId)
-      throws IOException, OrmException {
+      throws IOException {
     if (changed) {
       if (comments.isEmpty()) {
         commentsUtil.removeNote(noteMap, commitId);
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/notedb/ChangeNotes.java b/gerrit-server/src/main/java/com/google/gerrit/server/notedb/ChangeNotes.java
index d89651b..e97111d 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/notedb/ChangeNotes.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/notedb/ChangeNotes.java
@@ -52,7 +52,6 @@
 
 import java.io.IOException;
 import java.sql.Timestamp;
-import java.text.ParseException;
 import java.util.Comparator;
 import java.util.List;
 import java.util.Map;
@@ -79,6 +78,7 @@
 
   public static Comparator<PatchLineComment> PatchLineCommentComparator =
       new Comparator<PatchLineComment>() {
+    @Override
     public int compare(PatchLineComment c1, PatchLineComment c2) {
       String filename1 = c1.getKey().getParentKey().get();
       String filename2 = c2.getKey().getParentKey().get();
@@ -301,9 +301,6 @@
       this.allPastReviewers = ImmutableList.copyOf(parser.allPastReviewers);
 
       submitRecords = ImmutableList.copyOf(parser.submitRecords);
-    } catch (ParseException e1) {
-      // TODO(yyonas): figure out how to handle this exception
-      throw new IOException(e1);
     } finally {
       walk.release();
     }
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/notedb/ChangeNotesParser.java b/gerrit-server/src/main/java/com/google/gerrit/server/notedb/ChangeNotesParser.java
index aa16562..92248d4 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/notedb/ChangeNotesParser.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/notedb/ChangeNotesParser.java
@@ -61,7 +61,6 @@
 import java.io.IOException;
 import java.nio.charset.Charset;
 import java.sql.Timestamp;
-import java.text.ParseException;
 import java.util.Collection;
 import java.util.Collections;
 import java.util.Iterator;
@@ -109,7 +108,7 @@
     repo.close();
   }
 
-  void parseAll() throws ConfigInvalidException, IOException, ParseException {
+  void parseAll() throws ConfigInvalidException, IOException {
     walk.markStart(walk.parseCommit(tip));
     for (RevCommit commit : walk) {
       parse(commit);
@@ -142,7 +141,7 @@
     return ImmutableListMultimap.copyOf(changeMessages);
   }
 
-  private void parse(RevCommit commit) throws ConfigInvalidException, IOException {
+  private void parse(RevCommit commit) throws ConfigInvalidException {
     if (status == null) {
       status = parseStatus(commit);
     }
@@ -273,7 +272,7 @@
   }
 
   private void parseComments()
-      throws IOException, ConfigInvalidException, ParseException {
+      throws IOException, ConfigInvalidException {
     commentNoteMap = CommentsInNotesUtil.parseCommentsFromNotes(repo,
         ChangeNoteUtil.changeRefName(changeId), walk, changeId,
         commentsForBase, commentsForPs, PatchLineComment.Status.PUBLISHED);
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/notedb/ChangeRebuilder.java b/gerrit-server/src/main/java/com/google/gerrit/server/notedb/ChangeRebuilder.java
index 3eea41d..2eacd09 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/notedb/ChangeRebuilder.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/notedb/ChangeRebuilder.java
@@ -34,7 +34,6 @@
 import com.google.gerrit.reviewdb.client.PatchSetApproval;
 import com.google.gerrit.reviewdb.server.ReviewDb;
 import com.google.gerrit.server.IdentifiedUser;
-import com.google.gerrit.server.PatchLineCommentsUtil;
 import com.google.gerrit.server.git.VersionedMetaData.BatchMetaDataUpdate;
 import com.google.gerrit.server.patch.PatchListCache;
 import com.google.gerrit.server.project.ChangeControl;
@@ -72,7 +71,6 @@
       ChangeControl.GenericFactory controlFactory,
       IdentifiedUser.GenericFactory userFactory,
       PatchListCache patchListCache,
-      PatchLineCommentsUtil plcUtil,
       ChangeUpdate.Factory updateFactory,
       ChangeDraftUpdate.Factory draftUpdateFactory) {
     this.dbProvider = dbProvider;
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/notedb/ChangeUpdate.java b/gerrit-server/src/main/java/com/google/gerrit/server/notedb/ChangeUpdate.java
index 5647639..23231de 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/notedb/ChangeUpdate.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/notedb/ChangeUpdate.java
@@ -38,7 +38,6 @@
 import com.google.gerrit.reviewdb.client.Project;
 import com.google.gerrit.server.GerritPersonIdent;
 import com.google.gerrit.server.account.AccountCache;
-import com.google.gerrit.server.config.AllUsersName;
 import com.google.gerrit.server.config.AnonymousCowardName;
 import com.google.gerrit.server.git.GitRepositoryManager;
 import com.google.gerrit.server.git.MetaDataUpdate;
@@ -46,7 +45,6 @@
 import com.google.gerrit.server.project.ProjectCache;
 import com.google.gerrit.server.util.LabelVote;
 import com.google.gwtorm.server.OrmException;
-import com.google.inject.Provider;
 import com.google.inject.assistedinject.Assisted;
 import com.google.inject.assistedinject.AssistedInject;
 
@@ -110,14 +108,12 @@
       NotesMigration migration,
       AccountCache accountCache,
       MetaDataUpdate.User updateFactory,
-      DraftCommentNotes.Factory draftNotesFactory,
-      Provider<AllUsersName> allUsers,
       ChangeDraftUpdate.Factory draftUpdateFactory,
       ProjectCache projectCache,
       @Assisted ChangeControl ctl,
       CommentsInNotesUtil commentsUtil) {
     this(serverIdent, anonymousCowardName, repoManager, migration, accountCache,
-        updateFactory, draftNotesFactory, allUsers, draftUpdateFactory,
+        updateFactory, draftUpdateFactory,
         projectCache, ctl, serverIdent.getWhen(), commentsUtil);
   }
 
@@ -129,15 +125,13 @@
       NotesMigration migration,
       AccountCache accountCache,
       MetaDataUpdate.User updateFactory,
-      DraftCommentNotes.Factory draftNotesFactory,
-      Provider<AllUsersName> allUsers,
       ChangeDraftUpdate.Factory draftUpdateFactory,
       ProjectCache projectCache,
       @Assisted ChangeControl ctl,
       @Assisted Date when,
       CommentsInNotesUtil commentsUtil) {
     this(serverIdent, anonymousCowardName, repoManager, migration, accountCache,
-        updateFactory, draftNotesFactory, allUsers, draftUpdateFactory, ctl,
+        updateFactory, draftUpdateFactory, ctl,
         when,
         projectCache.get(getProjectName(ctl)).getLabelTypes().nameComparator(),
         commentsUtil);
@@ -155,8 +149,6 @@
       NotesMigration migration,
       AccountCache accountCache,
       MetaDataUpdate.User updateFactory,
-      DraftCommentNotes.Factory draftNotesFactory,
-      Provider<AllUsersName> allUsers,
       ChangeDraftUpdate.Factory draftUpdateFactory,
       @Assisted ChangeControl ctl,
       @Assisted Date when,
@@ -278,7 +270,7 @@
     }
   }
 
-  private void upsertDraftComment(PatchLineComment c) throws OrmException {
+  private void upsertDraftComment(PatchLineComment c) {
     createDraftUpdateIfNull(c);
     draftUpdate.upsertComment(c);
   }
@@ -317,7 +309,7 @@
     draftUpdate.deleteCommentIfPresent(c);
   }
 
-  private void createDraftUpdateIfNull(PatchLineComment c) throws OrmException {
+  private void createDraftUpdateIfNull(PatchLineComment c) {
     if (draftUpdate == null) {
       draftUpdate = draftUpdateFactory.create(ctl, when);
       if (psId != null) {
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/notedb/CommentsInNotesUtil.java b/gerrit-server/src/main/java/com/google/gerrit/server/notedb/CommentsInNotesUtil.java
index c2e5dfc..652f37e 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/notedb/CommentsInNotesUtil.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/notedb/CommentsInNotesUtil.java
@@ -35,7 +35,6 @@
 import com.google.gerrit.server.GerritPersonIdent;
 import com.google.gerrit.server.account.AccountCache;
 import com.google.gerrit.server.config.AnonymousCowardName;
-import com.google.gwtorm.server.OrmException;
 import com.google.inject.Inject;
 import com.google.inject.Singleton;
 
@@ -173,7 +172,7 @@
       throw parseException(changeId, "could not parse %s", FILE);
     }
 
-    CommentRange range = parseCommentRange(note, curr, changeId);
+    CommentRange range = parseCommentRange(note, curr);
     if (range == null) {
       throw parseException(changeId, "could not parse %s", COMMENT_RANGE);
     }
@@ -228,8 +227,7 @@
    *    contains a whole comment range, then we return a CommentRange with all
    *    fields set. If the line is not correctly formatted, return null.
    */
-  private static CommentRange parseCommentRange(byte[] note, MutableInteger ptr,
-      Change.Id changeId) throws ConfigInvalidException {
+  private static CommentRange parseCommentRange(byte[] note, MutableInteger ptr) {
     CommentRange range = new CommentRange(-1, -1, -1, -1);
 
     int startLine = RawParseUtils.parseBase10(note, ptr.value, ptr);
@@ -397,7 +395,7 @@
   }
 
   private void appendHeaderField(PrintWriter writer,
-      String field, String value) throws IOException {
+      String field, String value) {
     writer.print(field);
     writer.print(": ");
     writer.print(value);
@@ -442,8 +440,7 @@
    *            for no comments.
    * @return the note. Null if there are no comments in the list.
    */
-  public byte[] buildNote(List<PatchLineComment> comments)
-      throws OrmException, IOException {
+  public byte[] buildNote(List<PatchLineComment> comments) {
     ByteArrayOutputStream buf = new ByteArrayOutputStream();
     OutputStreamWriter streamWriter = new OutputStreamWriter(buf, UTF_8);
     PrintWriter writer = new PrintWriter(streamWriter);
@@ -527,7 +524,7 @@
 
   public void writeCommentsToNoteMap(NoteMap noteMap,
       List<PatchLineComment> allComments, ObjectInserter inserter)
-        throws OrmException, IOException {
+        throws IOException {
     checkArgument(!allComments.isEmpty(),
         "No comments to write; to delete, use removeNoteFromNoteMap().");
     ObjectId commit =
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/patch/PatchFile.java b/gerrit-server/src/main/java/com/google/gerrit/server/patch/PatchFile.java
index 81f4352..2e63a76 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/patch/PatchFile.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/patch/PatchFile.java
@@ -57,9 +57,9 @@
         if (patchList.isAgainstParent()) {
           a = Text.EMPTY;
         } else {
-          a = Text.forCommit(repo, reader, patchList.getOldId());
+          a = Text.forCommit(reader, patchList.getOldId());
         }
-        b = Text.forCommit(repo, reader, bCommit);
+        b = Text.forCommit(reader, bCommit);
 
         aTree = null;
         bTree = null;
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/patch/PatchListLoader.java b/gerrit-server/src/main/java/com/google/gerrit/server/patch/PatchListLoader.java
index de36020..b2d6443 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/patch/PatchListLoader.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/patch/PatchListLoader.java
@@ -127,7 +127,7 @@
         // This is a merge commit, compared to its ancestor.
         //
         final PatchListEntry[] entries = new PatchListEntry[1];
-        entries[0] = newCommitMessage(cmp, repo, reader, null, b);
+        entries[0] = newCommitMessage(cmp, reader, null, b);
         return new PatchList(a, b, true, entries);
       }
 
@@ -158,7 +158,7 @@
           : null;
       int cnt = diffEntries.size();
       List<PatchListEntry> entries = new ArrayList<>();
-      entries.add(newCommitMessage(cmp, repo, reader, //
+      entries.add(newCommitMessage(cmp, reader,
           againstParent ? null : aCommit, b));
       for (int i = 0; i < cnt; i++) {
         DiffEntry diffEntry = diffEntries.get(i);
@@ -176,7 +176,7 @@
   }
 
   private PatchListEntry newCommitMessage(final RawTextComparator cmp,
-      final Repository db, final ObjectReader reader,
+      final ObjectReader reader,
       final RevCommit aCommit, final RevCommit bCommit) throws IOException {
     StringBuilder hdr = new StringBuilder();
 
@@ -197,8 +197,8 @@
     hdr.append("+++ b/").append(Patch.COMMIT_MSG).append("\n");
 
     Text aText =
-        aCommit != null ? Text.forCommit(db, reader, aCommit) : Text.EMPTY;
-    Text bText = Text.forCommit(db, reader, bCommit);
+        aCommit != null ? Text.forCommit(reader, aCommit) : Text.EMPTY;
+    Text bText = Text.forCommit(reader, bCommit);
 
     byte[] rawHdr = hdr.toString().getBytes("UTF-8");
     RawText aRawText = new RawText(aText.getContent());
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/patch/PatchScriptBuilder.java b/gerrit-server/src/main/java/com/google/gerrit/server/patch/PatchScriptBuilder.java
index f3137fe..42713d0 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/patch/PatchScriptBuilder.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/patch/PatchScriptBuilder.java
@@ -436,7 +436,7 @@
             displayMethod = DisplayMethod.NONE;
           } else {
             id = within;
-            src = Text.forCommit(db, reader, within);
+            src = Text.forCommit(reader, within);
             srcContent = src.getContent();
             if (src == Text.EMPTY) {
               mode = FileMode.MISSING;
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/patch/PatchScriptFactory.java b/gerrit-server/src/main/java/com/google/gerrit/server/patch/PatchScriptFactory.java
index 919b41a..4cb984f 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/patch/PatchScriptFactory.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/patch/PatchScriptFactory.java
@@ -207,7 +207,7 @@
 
   private ObjectId toObjectId(final ReviewDb db, final PatchSet.Id psId)
       throws OrmException, NoSuchChangeException, AuthException,
-      InvalidChangeOperationException, NoSuchChangeException, IOException {
+      NoSuchChangeException, IOException {
     if (!changeId.equals(psId.getParentKey())) {
       throw new NoSuchChangeException(changeId);
     }
@@ -230,7 +230,7 @@
   }
 
   private ObjectId getEditRev() throws AuthException,
-      NoSuchChangeException, IOException, InvalidChangeOperationException {
+      NoSuchChangeException, IOException {
     Optional<ChangeEdit> edit = editReader.byChange(change);
     if (edit.isPresent()) {
       return edit.get().getRef().getObjectId();
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/patch/Text.java b/gerrit-server/src/main/java/com/google/gerrit/server/patch/Text.java
index f12b02b..1939c84 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/patch/Text.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/patch/Text.java
@@ -21,7 +21,6 @@
 import org.eclipse.jgit.lib.ObjectLoader;
 import org.eclipse.jgit.lib.ObjectReader;
 import org.eclipse.jgit.lib.PersonIdent;
-import org.eclipse.jgit.lib.Repository;
 import org.eclipse.jgit.revwalk.RevCommit;
 import org.eclipse.jgit.revwalk.RevWalk;
 import org.eclipse.jgit.storage.pack.PackConfig;
@@ -44,8 +43,7 @@
   public static final byte[] NO_BYTES = {};
   public static final Text EMPTY = new Text(NO_BYTES);
 
-  public static Text forCommit(Repository db, ObjectReader reader,
-      AnyObjectId commitId) throws IOException {
+  public static Text forCommit(ObjectReader reader, AnyObjectId commitId) throws IOException {
     RevWalk rw = new RevWalk(reader);
     RevCommit c;
     if (commitId instanceof RevCommit) {
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/plugins/JarPluginProvider.java b/gerrit-server/src/main/java/com/google/gerrit/server/plugins/JarPluginProvider.java
index 1ef1d82..7c35014 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/plugins/JarPluginProvider.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/plugins/JarPluginProvider.java
@@ -85,7 +85,7 @@
         File tmp = asTemp(in, tempNameFor(name), extension, tmpDir);
         return loadJarPlugin(name, srcFile, snapshot, tmp, description);
       }
-    } catch (IOException | ClassNotFoundException e) {
+    } catch (IOException e) {
       throw new InvalidPluginException("Cannot load Jar plugin " + srcFile, e);
     }
   }
@@ -119,8 +119,7 @@
 
   private ServerPlugin loadJarPlugin(String name, File srcJar,
       FileSnapshot snapshot, File tmp, PluginDescription description)
-      throws IOException, InvalidPluginException, MalformedURLException,
-      ClassNotFoundException {
+      throws IOException, InvalidPluginException, MalformedURLException {
     JarFile jarFile = new JarFile(tmp);
     boolean keep = false;
     try {
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/plugins/JarScanner.java b/gerrit-server/src/main/java/com/google/gerrit/server/plugins/JarScanner.java
index b1cba2b..d7d0efd 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/plugins/JarScanner.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/plugins/JarScanner.java
@@ -274,6 +274,7 @@
     return Collections.enumeration(Lists.transform(
         Collections.list(jarFile.entries()),
         new Function<JarEntry, PluginEntry>() {
+          @Override
           public PluginEntry apply(JarEntry jarEntry) {
             try {
               return resourceOf(jarEntry);
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/plugins/PluginLoader.java b/gerrit-server/src/main/java/com/google/gerrit/server/plugins/PluginLoader.java
index 20633d1..ea4b054 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/plugins/PluginLoader.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/plugins/PluginLoader.java
@@ -71,7 +71,7 @@
   static final String PLUGIN_TMP_PREFIX = "plugin_";
   static final Logger log = LoggerFactory.getLogger(PluginLoader.class);
 
-  public String getPluginName(File srcFile) throws IOException {
+  public String getPluginName(File srcFile) {
     return MoreObjects.firstNonNull(getGerritPluginName(srcFile),
         nameOf(srcFile));
   }
@@ -546,7 +546,7 @@
   }
 
   private Plugin loadPlugin(String name, File srcPlugin, FileSnapshot snapshot)
-      throws IOException, ClassNotFoundException, InvalidPluginException {
+      throws InvalidPluginException {
     String pluginName = srcPlugin.getName();
     if (isJsPlugin(pluginName)) {
       return loadJsPlugin(name, srcPlugin, snapshot);
@@ -624,43 +624,37 @@
   public Multimap<String, File> prunePlugins(File pluginsDir) {
     List<File> pluginFiles = scanFilesInPluginsDirectory(pluginsDir);
     Multimap<String, File> map;
-    try {
-      map = asMultimap(pluginFiles);
-      for (String plugin : map.keySet()) {
-        Collection<File> files = map.asMap().get(plugin);
-        if (files.size() == 1) {
-          continue;
-        }
-        // retrieve enabled plugins
-        Iterable<File> enabled = filterDisabledPlugins(
-            files);
-        // If we have only one (the winner) plugin, nothing to do
-        if (!Iterables.skip(enabled, 1).iterator().hasNext()) {
-          continue;
-        }
-        File winner = Iterables.getFirst(enabled, null);
-        assert(winner != null);
-        // Disable all loser plugins by renaming their file names to
-        // "file.disabled" and replace the disabled files in the multimap.
-        Collection<File> elementsToRemove = Lists.newArrayList();
-        Collection<File> elementsToAdd = Lists.newArrayList();
-        for (File loser : Iterables.skip(enabled, 1)) {
-          log.warn(String.format("Plugin <%s> was disabled, because"
-               + " another plugin <%s>"
-               + " with the same name <%s> already exists",
-               loser, winner, plugin));
-          File disabledPlugin = new File(loser + ".disabled");
-          elementsToAdd.add(disabledPlugin);
-          elementsToRemove.add(loser);
-          loser.renameTo(disabledPlugin);
-        }
-        Iterables.removeAll(files, elementsToRemove);
-        Iterables.addAll(files, elementsToAdd);
+    map = asMultimap(pluginFiles);
+    for (String plugin : map.keySet()) {
+      Collection<File> files = map.asMap().get(plugin);
+      if (files.size() == 1) {
+        continue;
       }
-    } catch (IOException e) {
-      log.warn("Cannot prune plugin list",
-          e.getCause());
-      return LinkedHashMultimap.create();
+      // retrieve enabled plugins
+      Iterable<File> enabled = filterDisabledPlugins(
+          files);
+      // If we have only one (the winner) plugin, nothing to do
+      if (!Iterables.skip(enabled, 1).iterator().hasNext()) {
+        continue;
+      }
+      File winner = Iterables.getFirst(enabled, null);
+      assert(winner != null);
+      // Disable all loser plugins by renaming their file names to
+      // "file.disabled" and replace the disabled files in the multimap.
+      Collection<File> elementsToRemove = Lists.newArrayList();
+      Collection<File> elementsToAdd = Lists.newArrayList();
+      for (File loser : Iterables.skip(enabled, 1)) {
+        log.warn(String.format("Plugin <%s> was disabled, because"
+             + " another plugin <%s>"
+             + " with the same name <%s> already exists",
+             loser, winner, plugin));
+        File disabledPlugin = new File(loser + ".disabled");
+        elementsToAdd.add(disabledPlugin);
+        elementsToRemove.add(loser);
+        loser.renameTo(disabledPlugin);
+      }
+      Iterables.removeAll(files, elementsToRemove);
+      Iterables.addAll(files, elementsToAdd);
     }
     return map;
   }
@@ -694,7 +688,7 @@
     });
   }
 
-  public String getGerritPluginName(File srcFile) throws IOException {
+  public String getGerritPluginName(File srcFile) {
     String fileName = srcFile.getName();
     if (isJsPlugin(fileName)) {
       return fileName.substring(0, fileName.length() - 3);
@@ -705,8 +699,7 @@
     return null;
   }
 
-  private Multimap<String, File> asMultimap(List<File> plugins)
-      throws IOException {
+  private Multimap<String, File> asMultimap(List<File> plugins) {
     Multimap<String, File> map = LinkedHashMultimap.create();
     for (File srcFile : plugins) {
       map.put(getPluginName(srcFile), srcFile);
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/plugins/ServerPlugin.java b/gerrit-server/src/main/java/com/google/gerrit/server/plugins/ServerPlugin.java
index ee5e90a..a1d8ea5 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/plugins/ServerPlugin.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/plugins/ServerPlugin.java
@@ -69,7 +69,7 @@
   private Injector sysInjector;
   private Injector sshInjector;
   private Injector httpInjector;
-  private LifecycleManager manager;
+  private LifecycleManager serverManager;
   private List<ReloadableRegistrationHandle<?>> reloadableHandles;
 
   public ServerPlugin(String name,
@@ -140,12 +140,14 @@
     }
   }
 
+  @Override
   @Nullable
   public String getVersion() {
     Attributes main = manifest.getMainAttributes();
     return main.getValue(Attributes.Name.IMPLEMENTATION_VERSION);
   }
 
+  @Override
   boolean canReload() {
     Attributes main = manifest.getMainAttributes();
     String v = main.getValue("Gerrit-ReloadMode");
@@ -161,6 +163,7 @@
     }
   }
 
+  @Override
   void start(PluginGuiceEnvironment env) throws Exception {
     RequestContext oldContext = env.enter(this);
     try {
@@ -172,7 +175,7 @@
 
   private void startPlugin(PluginGuiceEnvironment env) throws Exception {
     Injector root = newRootInjector(env);
-    manager = new LifecycleManager();
+    serverManager = new LifecycleManager();
 
     AutoRegisterModules auto = null;
     if (sysModule == null && sshModule == null && httpModule == null) {
@@ -182,10 +185,10 @@
 
     if (sysModule != null) {
       sysInjector = root.createChildInjector(root.getInstance(sysModule));
-      manager.add(sysInjector);
+      serverManager.add(sysInjector);
     } else if (auto != null && auto.sysModule != null) {
       sysInjector = root.createChildInjector(auto.sysModule);
-      manager.add(sysInjector);
+      serverManager.add(sysInjector);
     } else {
       sysInjector = root;
     }
@@ -198,11 +201,11 @@
       if (sshModule != null) {
         modules.add(sysInjector.getInstance(sshModule));
         sshInjector = sysInjector.createChildInjector(modules);
-        manager.add(sshInjector);
+        serverManager.add(sshInjector);
       } else if (auto != null && auto.sshModule != null) {
         modules.add(auto.sshModule);
         sshInjector = sysInjector.createChildInjector(modules);
-        manager.add(sshInjector);
+        serverManager.add(sshInjector);
       }
     }
 
@@ -214,15 +217,15 @@
       if (httpModule != null) {
         modules.add(sysInjector.getInstance(httpModule));
         httpInjector = sysInjector.createChildInjector(modules);
-        manager.add(httpInjector);
+        serverManager.add(httpInjector);
       } else if (auto != null && auto.httpModule != null) {
         modules.add(auto.httpModule);
         httpInjector = sysInjector.createChildInjector(modules);
-        manager.add(httpInjector);
+        serverManager.add(httpInjector);
       }
     }
 
-    manager.start();
+    serverManager.start();
   }
 
   private Injector newRootInjector(final PluginGuiceEnvironment env) {
@@ -266,44 +269,49 @@
     return Guice.createInjector(modules);
   }
 
+  @Override
   void stop(PluginGuiceEnvironment env) {
-    if (manager != null) {
+    if (serverManager != null) {
       RequestContext oldContext = env.enter(this);
       try {
-        manager.stop();
+        serverManager.stop();
       } finally {
         env.exit(oldContext);
       }
-      manager = null;
+      serverManager = null;
       sysInjector = null;
       sshInjector = null;
       httpInjector = null;
     }
   }
 
+  @Override
   public Injector getSysInjector() {
     return sysInjector;
   }
 
+  @Override
   @Nullable
   public Injector getSshInjector() {
     return sshInjector;
   }
 
+  @Override
   @Nullable
   public Injector getHttpInjector() {
     return httpInjector;
   }
 
+  @Override
   public void add(RegistrationHandle handle) {
-    if (manager != null) {
+    if (serverManager != null) {
       if (handle instanceof ReloadableRegistrationHandle) {
         if (reloadableHandles == null) {
           reloadableHandles = Lists.newArrayList();
         }
         reloadableHandles.add((ReloadableRegistrationHandle<?>) handle);
       }
-      manager.add(handle);
+      serverManager.add(handle);
     }
   }
 
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/project/BanCommit.java b/gerrit-server/src/main/java/com/google/gerrit/server/project/BanCommit.java
index 930360a..ef153ce 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/project/BanCommit.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/project/BanCommit.java
@@ -22,7 +22,6 @@
 import com.google.gerrit.extensions.restapi.RestModifyView;
 import com.google.gerrit.extensions.restapi.UnprocessableEntityException;
 import com.google.gerrit.server.git.BanCommitResult;
-import com.google.gerrit.server.git.MergeException;
 import com.google.gerrit.server.project.BanCommit.Input;
 import com.google.inject.Inject;
 import com.google.inject.Singleton;
@@ -81,7 +80,7 @@
         r.ignored = transformCommits(result.getIgnoredObjectIds());
       } catch (PermissionDeniedException e) {
         throw new AuthException(e.getMessage());
-      } catch (MergeException | ConcurrentRefUpdateException e) {
+      } catch (ConcurrentRefUpdateException e) {
         throw new ResourceConflictException(e.getMessage(), e);
       }
     }
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/project/DashboardsCollection.java b/gerrit-server/src/main/java/com/google/gerrit/server/project/DashboardsCollection.java
index 38bbba4..7822fa6 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/project/DashboardsCollection.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/project/DashboardsCollection.java
@@ -49,7 +49,6 @@
 import org.eclipse.jgit.lib.Repository;
 
 import java.io.IOException;
-import java.io.UnsupportedEncodingException;
 import java.util.List;
 
 @Singleton
@@ -157,8 +156,7 @@
   }
 
   static DashboardInfo parse(Project definingProject, String refName,
-      String path, Config config, String project, boolean setDefault)
-      throws UnsupportedEncodingException {
+      String path, Config config, String project, boolean setDefault) {
     DashboardInfo info = new DashboardInfo(refName, path);
     info.project = project;
     info.definingProject = definingProject.getName();
@@ -220,8 +218,7 @@
     String title;
     List<Section> sections = Lists.newArrayList();
 
-    DashboardInfo(String ref, String name)
-        throws UnsupportedEncodingException {
+    DashboardInfo(String ref, String name) {
       this.ref = ref;
       this.path = name;
       this.id = Joiner.on(':').join(Url.encode(ref), Url.encode(path));
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/project/ListBranches.java b/gerrit-server/src/main/java/com/google/gerrit/server/project/ListBranches.java
index 85316a2..9dfdb25 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/project/ListBranches.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/project/ListBranches.java
@@ -193,13 +193,14 @@
   private List<BranchInfo> filterBranches(List<BranchInfo> branches)
       throws BadRequestException {
     if (matchSubstring != null) {
-      return ((List<BranchInfo>) Lists.newArrayList(Iterables.filter(branches,
+      return Lists.newArrayList(Iterables.filter(branches,
           new Predicate<BranchInfo>() {
+            @Override
             public boolean apply(BranchInfo in) {
               return in.ref.toLowerCase(Locale.US).contains(
                   matchSubstring.toLowerCase(Locale.US));
             }
-          })));
+          }));
     } else if (matchRegex != null) {
       if (matchRegex.startsWith("^")) {
         matchRegex = matchRegex.substring(1);
@@ -213,12 +214,13 @@
       try {
         final RunAutomaton a =
             new RunAutomaton(new RegExp(matchRegex).toAutomaton());
-        return ((List<BranchInfo>) Lists.newArrayList(Iterables.filter(
+        return Lists.newArrayList(Iterables.filter(
             branches, new Predicate<BranchInfo>() {
+              @Override
               public boolean apply(BranchInfo in) {
                 return a.run(in.ref);
               }
-            })));
+            }));
       } catch (IllegalArgumentException e) {
         throw new BadRequestException(e.getMessage());
       }
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/project/ListProjects.java b/gerrit-server/src/main/java/com/google/gerrit/server/project/ListProjects.java
index f6d393a..a9851e4 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/project/ListProjects.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/project/ListProjects.java
@@ -450,6 +450,7 @@
       checkMatchOptions(matchPrefix == null && matchRegex == null);
       return Iterables.filter(projectCache.all(),
           new Predicate<Project.NameKey>() {
+            @Override
             public boolean apply(Project.NameKey in) {
               return in.get().toLowerCase(Locale.US)
                   .contains(matchSubstring.toLowerCase(Locale.US));
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/project/ProjectCacheImpl.java b/gerrit-server/src/main/java/com/google/gerrit/server/project/ProjectCacheImpl.java
index 1e7a221..25c9dbf 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/project/ProjectCacheImpl.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/project/ProjectCacheImpl.java
@@ -157,6 +157,7 @@
   }
 
   /** Invalidate the cached information about the given project. */
+  @Override
   public void evict(final Project.NameKey p) {
     if (p != null) {
       byName.invalidate(p.get());
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/project/PutConfig.java b/gerrit-server/src/main/java/com/google/gerrit/server/project/PutConfig.java
index 7c7b966..0e4ff98 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/project/PutConfig.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/project/PutConfig.java
@@ -183,7 +183,7 @@
           hooks.doRefUpdatedHook(
             new Branch.NameKey(projectName, RefNames.REFS_CONFIG),
             baseRev, commitRev, user.getAccount());
-        };
+        }
         projectCache.evict(projectConfig.getProject());
         gitMgr.setProjectDescription(projectName, p.getDescription());
       } catch (IOException e) {
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/project/SuggestParentCandidates.java b/gerrit-server/src/main/java/com/google/gerrit/server/project/SuggestParentCandidates.java
index 4b8d2a4..a6717d5 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/project/SuggestParentCandidates.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/project/SuggestParentCandidates.java
@@ -16,7 +16,6 @@
 
 import com.google.gerrit.reviewdb.client.Project;
 import com.google.gerrit.server.config.AllProjectsName;
-import com.google.gwtorm.server.OrmException;
 import com.google.inject.Inject;
 import com.google.inject.Singleton;
 
@@ -40,8 +39,7 @@
     this.allProject = allProject;
   }
 
-  public List<Project.NameKey> getNameKeys() throws OrmException,
-      NoSuchProjectException {
+  public List<Project.NameKey> getNameKeys() throws NoSuchProjectException {
     List<Project> pList = getProjects();
     final List<Project.NameKey> nameKeys = new ArrayList<>(pList.size());
     for (Project p : pList) {
@@ -50,8 +48,7 @@
     return nameKeys;
   }
 
-  public List<Project> getProjects() throws OrmException,
-      NoSuchProjectException {
+  public List<Project> getProjects() throws NoSuchProjectException {
     Set<Project> projects = new TreeSet<>(new Comparator<Project>() {
       @Override
       public int compare(Project o1, Project o2) {
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/query/change/ChangeQueryBuilder.java b/gerrit-server/src/main/java/com/google/gerrit/server/query/change/ChangeQueryBuilder.java
index 30862b6..f180f4d 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/query/change/ChangeQueryBuilder.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/query/change/ChangeQueryBuilder.java
@@ -122,8 +122,7 @@
 
   @SuppressWarnings("unchecked")
   public static Integer getLimit(Predicate<ChangeData> p) {
-    IntPredicate<?> ip =
-        (IntPredicate<?>) find(p, IntPredicate.class, FIELD_LIMIT);
+    IntPredicate<?> ip = find(p, IntPredicate.class, FIELD_LIMIT);
     return ip != null ? ip.intValue() : null;
   }
 
@@ -270,7 +269,7 @@
   }
 
   @Operator
-  public Predicate<ChangeData> comment(String value) throws QueryParseException {
+  public Predicate<ChangeData> comment(String value) {
     ChangeIndex index = args.indexes.getSearchIndex();
     return new CommentPredicate(args, index, value);
   }
@@ -302,7 +301,7 @@
   }
 
   @Operator
-  public Predicate<ChangeData> is(String value) throws QueryParseException {
+  public Predicate<ChangeData> is(String value) {
     if ("starred".equalsIgnoreCase(value)) {
       return new IsStarredByPredicate(args, currentUser);
     }
@@ -373,8 +372,8 @@
 
   @Operator
   public Predicate<ChangeData> parentproject(String name) {
-    return new ParentProjectPredicate(args.db, args.projectCache,
-        args.listChildProjects, args.self, name);
+    return new ParentProjectPredicate(args.projectCache, args.listChildProjects,
+        args.self, name);
   }
 
   @Operator
@@ -410,23 +409,23 @@
   }
 
   @Operator
-  public Predicate<ChangeData> f(String file) throws QueryParseException {
+  public Predicate<ChangeData> f(String file) {
     return file(file);
   }
 
   @Operator
-  public Predicate<ChangeData> file(String file) throws QueryParseException {
+  public Predicate<ChangeData> file(String file) {
     if (file.startsWith("^")) {
-      return new RegexPathPredicate(FIELD_FILE, file);
+      return new RegexPathPredicate(file);
     } else {
       return EqualsFilePredicate.create(args, file);
     }
   }
 
   @Operator
-  public Predicate<ChangeData> path(String path) throws QueryParseException {
+  public Predicate<ChangeData> path(String path) {
     if (path.startsWith("^")) {
-      return new RegexPathPredicate(FIELD_PATH, path);
+      return new RegexPathPredicate(path);
     } else {
       return new EqualsPathPredicate(FIELD_PATH, path);
     }
@@ -487,7 +486,7 @@
   }
 
   @Operator
-  public Predicate<ChangeData> message(String text) throws QueryParseException {
+  public Predicate<ChangeData> message(String text) {
     ChangeIndex index = args.indexes.getSearchIndex();
     return new MessagePredicate(args, index, text);
   }
@@ -730,26 +729,14 @@
     } catch (OrmException | QueryParseException e) {
       // Skip.
     }
-    try {
-      predicates.add(file(query));
-    } catch (QueryParseException e) {
-      // Skip.
-    }
+    predicates.add(file(query));
     try {
       predicates.add(label(query));
     } catch (OrmException | QueryParseException e) {
       // Skip.
     }
-    try {
-      predicates.add(message(query));
-    } catch (QueryParseException e) {
-      // Skip.
-    }
-    try {
-      predicates.add(comment(query));
-    } catch (QueryParseException e) {
-      // Skip.
-    }
+    predicates.add(message(query));
+    predicates.add(comment(query));
     try {
       predicates.add(projects(query));
     } catch (QueryParseException e) {
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/query/change/ConflictsPredicate.java b/gerrit-server/src/main/java/com/google/gerrit/server/query/change/ConflictsPredicate.java
index d46e2fa..32dff46 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/query/change/ConflictsPredicate.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/query/change/ConflictsPredicate.java
@@ -94,7 +94,7 @@
           if (!otherChange.getDest().equals(c.getDest())) {
             return false;
           }
-          SubmitType submitType = getSubmitType(otherChange, object);
+          SubmitType submitType = getSubmitType(object);
           if (submitType == null) {
             return false;
           }
@@ -147,7 +147,7 @@
           return 5;
         }
 
-        private SubmitType getSubmitType(Change change, ChangeData cd) throws OrmException {
+        private SubmitType getSubmitType(ChangeData cd) throws OrmException {
           SubmitTypeRecord r = new SubmitRuleEvaluator(cd).getSubmitType();
           if (r.status != SubmitTypeRecord.Status.OK) {
             return null;
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/query/change/ParentProjectPredicate.java b/gerrit-server/src/main/java/com/google/gerrit/server/query/change/ParentProjectPredicate.java
index 253f719..2cabfc5 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/query/change/ParentProjectPredicate.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/query/change/ParentProjectPredicate.java
@@ -17,7 +17,6 @@
 import com.google.common.collect.Lists;
 import com.google.gerrit.extensions.common.ProjectInfo;
 import com.google.gerrit.reviewdb.client.Project;
-import com.google.gerrit.reviewdb.server.ReviewDb;
 import com.google.gerrit.server.CurrentUser;
 import com.google.gerrit.server.project.ListChildProjects;
 import com.google.gerrit.server.project.ProjectCache;
@@ -33,15 +32,15 @@
 class ParentProjectPredicate extends OrPredicate<ChangeData> {
   private final String value;
 
-  ParentProjectPredicate(Provider<ReviewDb> dbProvider,
-      ProjectCache projectCache, Provider<ListChildProjects> listChildProjects,
-      Provider<CurrentUser> self, String value) {
-    super(predicates(dbProvider, projectCache, listChildProjects, self, value));
+  ParentProjectPredicate(ProjectCache projectCache,
+      Provider<ListChildProjects> listChildProjects, Provider<CurrentUser> self,
+      String value) {
+    super(predicates(projectCache, listChildProjects, self, value));
     this.value = value;
   }
 
   private static List<Predicate<ChangeData>> predicates(
-      Provider<ReviewDb> dbProvider, ProjectCache projectCache,
+      ProjectCache projectCache,
       Provider<ListChildProjects> listChildProjects,
       Provider<CurrentUser> self, String value) {
     ProjectState projectState = projectCache.get(new Project.NameKey(value));
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/query/change/RegexPathPredicate.java b/gerrit-server/src/main/java/com/google/gerrit/server/query/change/RegexPathPredicate.java
index 3d6f8b4..049aa40 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/query/change/RegexPathPredicate.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/query/change/RegexPathPredicate.java
@@ -22,7 +22,7 @@
 import java.util.List;
 
 class RegexPathPredicate extends RegexPredicate<ChangeData> {
-  RegexPathPredicate(String fieldName, String re) {
+  RegexPathPredicate(String re) {
     super(ChangeField.PATH, re);
   }
 
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/schema/DataSourceProvider.java b/gerrit-server/src/main/java/com/google/gerrit/server/schema/DataSourceProvider.java
index 49ac452..30ebaa7 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/schema/DataSourceProvider.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/schema/DataSourceProvider.java
@@ -23,7 +23,6 @@
 import com.google.gerrit.server.config.ConfigSection;
 import com.google.gerrit.server.config.ConfigUtil;
 import com.google.gerrit.server.config.GerritServerConfig;
-import com.google.gerrit.server.config.SitePaths;
 import com.google.gwtorm.jdbc.SimpleDataSource;
 import com.google.inject.Inject;
 import com.google.inject.Provider;
@@ -46,18 +45,15 @@
     LifecycleListener {
   public static final int DEFAULT_POOL_LIMIT = 8;
 
-  private final SitePaths site;
   private final Config cfg;
   private final Context ctx;
   private final DataSourceType dst;
   private DataSource ds;
 
   @Inject
-  protected DataSourceProvider(SitePaths site,
-      @GerritServerConfig Config cfg,
+  protected DataSourceProvider(@GerritServerConfig Config cfg,
       Context ctx,
       DataSourceType dst) {
-    this.site = site;
     this.cfg = cfg;
     this.ctx = ctx;
     this.dst = dst;
@@ -66,7 +62,7 @@
   @Override
   public synchronized DataSource get() {
     if (ds == null) {
-      ds = open(site, cfg, ctx, dst);
+      ds = open(cfg, ctx, dst);
     }
     return ds;
   }
@@ -90,8 +86,8 @@
     SINGLE_USER, MULTI_USER
   }
 
-  private DataSource open(final SitePaths site, final Config cfg,
-      final Context context, final DataSourceType dst) {
+  private DataSource open(final Config cfg, final Context context,
+      final DataSourceType dst) {
     ConfigSection dbs = new ConfigSection(cfg, "database");
     String driver = dbs.optional("driver");
     if (Strings.isNullOrEmpty(driver)) {
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/schema/SchemaVersion.java b/gerrit-server/src/main/java/com/google/gerrit/server/schema/SchemaVersion.java
index bd1f8e8..44f0798 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/schema/SchemaVersion.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/schema/SchemaVersion.java
@@ -92,6 +92,7 @@
     try {
       final List<String> pruneList = Lists.newArrayList();
       s.pruneSchema(new StatementExecutor() {
+        @Override
         public void execute(String sql) {
           pruneList.add(sql);
         }
@@ -130,7 +131,13 @@
     }
   }
 
-  /** Invoke before updateSchema adds new columns/tables. */
+  /**
+   * Invoked before updateSchema adds new columns/tables.
+   *
+   * @param db open database handle.
+   * @throws OrmException if a Gerrit-specific exception occurred.
+   * @throws SQLException if an underlying SQL exception occurred.
+   */
   protected void preUpdateSchema(ReviewDb db) throws OrmException, SQLException {
   }
 
@@ -148,6 +155,11 @@
   /**
    * Invoked between updateSchema (adds new columns/tables) and pruneSchema
    * (removes deleted columns/tables).
+   *
+   * @param db open database handle.
+   * @param ui interface for interacting with the user.
+   * @throws OrmException if a Gerrit-specific exception occurred.
+   * @throws SQLException if an underlying SQL exception occurred.
    */
   protected void migrateData(ReviewDb db, UpdateUI ui) throws OrmException, SQLException {
   }
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/schema/SchemaVersionCheck.java b/gerrit-server/src/main/java/com/google/gerrit/server/schema/SchemaVersionCheck.java
index 2e12f5c..30ae4ab 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/schema/SchemaVersionCheck.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/schema/SchemaVersionCheck.java
@@ -52,6 +52,7 @@
     this.version = version;
   }
 
+  @Override
   public void start() {
     try {
       final ReviewDb db = schema.open();
@@ -84,6 +85,7 @@
     }
   }
 
+  @Override
   public void stop() {
   }
 
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/schema/Schema_52.java b/gerrit-server/src/main/java/com/google/gerrit/server/schema/Schema_52.java
index 76dbdf5..a44eed8 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/schema/Schema_52.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/schema/Schema_52.java
@@ -22,6 +22,7 @@
   @Inject
   Schema_52() {
     super(new Provider<SchemaVersion>() {
+      @Override
       public SchemaVersion get() {
         throw new ProvisionException("Cannot upgrade from 51");
       }
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/schema/Schema_65.java b/gerrit-server/src/main/java/com/google/gerrit/server/schema/Schema_65.java
index f3f8bfe..ae046fa 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/schema/Schema_65.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/schema/Schema_65.java
@@ -101,7 +101,7 @@
       ui.message("Moved contributor agreements to project.config");
 
       // Create the auto verify groups.
-      List<AccountGroup.UUID> adminGroupUUIDs = getAdministrateServerGroups(db, config);
+      List<AccountGroup.UUID> adminGroupUUIDs = getAdministrateServerGroups(config);
       for (ContributorAgreement agreement : agreements.values()) {
         if (agreement.getAutoVerify() != null) {
           getOrCreateGroupForIndividuals(db, config, adminGroupUUIDs, agreement);
@@ -273,7 +273,7 @@
   }
 
   private List<AccountGroup.UUID> getAdministrateServerGroups(
-      ReviewDb db, ProjectConfig cfg) {
+      ProjectConfig cfg) {
     List<PermissionRule> rules = cfg.getAccessSection(AccessSection.GLOBAL_CAPABILITIES)
        .getPermission(GlobalCapability.ADMINISTRATE_SERVER)
        .getRules();
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/schema/Schema_77.java b/gerrit-server/src/main/java/com/google/gerrit/server/schema/Schema_77.java
index a5166b6..0bcd56a 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/schema/Schema_77.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/schema/Schema_77.java
@@ -80,7 +80,7 @@
         alterTable(db, "ALTER TABLE %s MODIFY %s varchar(255)");
       }
       migratePatchSetApprovals(db, labelTypes);
-      migrateLabelsToAllProjects(db, labelTypes);
+      migrateLabelsToAllProjects(labelTypes);
     } catch (RepositoryNotFoundException e) {
       throw new OrmException(e);
     } catch (SQLException e) {
@@ -104,9 +104,8 @@
     }
   }
 
-  private void migrateLabelsToAllProjects(ReviewDb db,
-      LegacyLabelTypes labelTypes) throws SQLException,
-      RepositoryNotFoundException, IOException, ConfigInvalidException {
+  private void migrateLabelsToAllProjects(LegacyLabelTypes labelTypes)
+      throws RepositoryNotFoundException, IOException, ConfigInvalidException {
     Repository git = mgr.openRepository(allProjects);
 
     try {
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/schema/Schema_81.java b/gerrit-server/src/main/java/com/google/gerrit/server/schema/Schema_81.java
index 1e3b2b7..2456929 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/schema/Schema_81.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/schema/Schema_81.java
@@ -60,14 +60,8 @@
   protected void migrateData(ReviewDb db, UpdateUI ui) throws OrmException,
       SQLException {
     try {
-      migrateStartReplicationCapability(db, scanForReplicationPlugin());
-    } catch (RepositoryNotFoundException e) {
-      throw new OrmException(e);
-    } catch (SQLException e) {
-      throw new OrmException(e);
-    } catch (IOException e) {
-      throw new OrmException(e);
-    } catch (ConfigInvalidException e) {
+      migrateStartReplicationCapability(scanForReplicationPlugin());
+    } catch (IOException | ConfigInvalidException e) {
       throw new OrmException(e);
     }
   }
@@ -87,9 +81,8 @@
     return matches;
   }
 
-  private void migrateStartReplicationCapability(ReviewDb db, File[] matches)
-      throws SQLException, RepositoryNotFoundException, IOException,
-      ConfigInvalidException {
+  private void migrateStartReplicationCapability(File[] matches)
+      throws RepositoryNotFoundException, IOException, ConfigInvalidException {
     Description d = new Description();
     if (matches == null || matches.length == 0) {
       d.what = Description.Action.REMOVE;
@@ -97,11 +90,11 @@
       d.what = Description.Action.RENAME;
       d.prefix = nameOf(matches[0]);
     }
-    migrateStartReplicationCapability(db, d);
+    migrateStartReplicationCapability(d);
   }
 
-  private void migrateStartReplicationCapability(ReviewDb db, Description d)
-      throws SQLException, RepositoryNotFoundException, IOException,
+  private void migrateStartReplicationCapability(Description d)
+      throws RepositoryNotFoundException, IOException,
       ConfigInvalidException {
     Repository git = mgr.openRepository(allProjects);
     try {
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/schema/ScriptRunner.java b/gerrit-server/src/main/java/com/google/gerrit/server/schema/ScriptRunner.java
index d03cb3e..51e21a7 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/schema/ScriptRunner.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/schema/ScriptRunner.java
@@ -36,6 +36,7 @@
   private final List<String> commands;
 
   static final ScriptRunner NOOP = new ScriptRunner(null, null) {
+    @Override
     void run(final ReviewDb db) {
     }
   };
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/util/HostPlatform.java b/gerrit-server/src/main/java/com/google/gerrit/server/util/HostPlatform.java
index ea4b7f9..c585270 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/util/HostPlatform.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/util/HostPlatform.java
@@ -28,6 +28,7 @@
   private static final boolean computeWin32() {
     final String osDotName =
         AccessController.doPrivileged(new PrivilegedAction<String>() {
+          @Override
           public String run() {
             return System.getProperty("os.name");
           }
diff --git a/gerrit-server/src/test/java/com/google/gerrit/rules/PrologTestCase.java b/gerrit-server/src/test/java/com/google/gerrit/rules/PrologTestCase.java
index 1bc78f8..0f00afb 100644
--- a/gerrit-server/src/test/java/com/google/gerrit/rules/PrologTestCase.java
+++ b/gerrit-server/src/test/java/com/google/gerrit/rules/PrologTestCase.java
@@ -82,6 +82,11 @@
     machine = PrologMachineCopy.save(env);
   }
 
+  /**
+   * Set up the Prolog environment.
+   *
+   * @param env Prolog environment.
+   */
   protected void setUpEnvironment(PrologEnvironment env) {
   }
 
diff --git a/gerrit-server/src/test/java/com/google/gerrit/server/change/IncludedInResolverTest.java b/gerrit-server/src/test/java/com/google/gerrit/server/change/IncludedInResolverTest.java
index 65eede6..dc9724c 100644
--- a/gerrit-server/src/test/java/com/google/gerrit/server/change/IncludedInResolverTest.java
+++ b/gerrit-server/src/test/java/com/google/gerrit/server/change/IncludedInResolverTest.java
@@ -63,6 +63,7 @@
 
   private RevWalk revWalk;
 
+  @Override
   @Before
   public void setUp() throws Exception {
     super.setUp();
@@ -125,6 +126,7 @@
         .setAnnotated(true).call();
   }
 
+  @Override
   @After
   public void tearDown() throws Exception {
     revWalk.release();
diff --git a/gerrit-server/src/test/java/com/google/gerrit/server/config/ScheduleConfigTest.java b/gerrit-server/src/test/java/com/google/gerrit/server/config/ScheduleConfigTest.java
index add4c96..d5f68cc 100644
--- a/gerrit-server/src/test/java/com/google/gerrit/server/config/ScheduleConfigTest.java
+++ b/gerrit-server/src/test/java/com/google/gerrit/server/config/ScheduleConfigTest.java
@@ -20,7 +20,6 @@
 import static java.util.concurrent.TimeUnit.MINUTES;
 import static org.junit.Assert.assertEquals;
 
-import org.eclipse.jgit.errors.ConfigInvalidException;
 import org.eclipse.jgit.lib.Config;
 import org.joda.time.DateTime;
 import org.junit.Test;
@@ -57,7 +56,7 @@
   }
 
   @Test
-  public void testCustomKeys() throws ConfigInvalidException {
+  public void testCustomKeys() {
     Config rc = new Config();
     rc.setString("a", "b", "i", "1h");
     rc.setString("a", "b", "s", "01:00");
@@ -71,15 +70,13 @@
     assertEquals(s.getInitialDelay(), ScheduleConfig.MISSING_CONFIG);
   }
 
-  private static long initialDelay(String startTime, String interval)
-      throws ConfigInvalidException {
+  private static long initialDelay(String startTime, String interval) {
     return new ScheduleConfig(
         config(startTime, interval),
         "section", "subsection", NOW).getInitialDelay();
   }
 
-  private static Config config(String startTime, String interval)
-      throws ConfigInvalidException {
+  private static Config config(String startTime, String interval) {
     Config rc = new Config();
     rc.setString("section", "subsection", "startTime", startTime);
     rc.setString("section", "subsection", "interval", interval);
diff --git a/gerrit-server/src/test/java/com/google/gerrit/server/query/change/LuceneQueryChangesTest.java b/gerrit-server/src/test/java/com/google/gerrit/server/query/change/LuceneQueryChangesTest.java
index aa9c116..742c230 100644
--- a/gerrit-server/src/test/java/com/google/gerrit/server/query/change/LuceneQueryChangesTest.java
+++ b/gerrit-server/src/test/java/com/google/gerrit/server/query/change/LuceneQueryChangesTest.java
@@ -28,6 +28,7 @@
 import org.junit.Test;
 
 public class LuceneQueryChangesTest extends AbstractQueryChangesTest {
+  @Override
   protected Injector createInjector() {
     Config luceneConfig = new Config(config);
     InMemoryModule.setDefaults(luceneConfig);
diff --git a/gerrit-server/src/test/java/com/google/gerrit/server/query/change/RegexPathPredicateTest.java b/gerrit-server/src/test/java/com/google/gerrit/server/query/change/RegexPathPredicateTest.java
index 8f1fa86..55d0f38 100644
--- a/gerrit-server/src/test/java/com/google/gerrit/server/query/change/RegexPathPredicateTest.java
+++ b/gerrit-server/src/test/java/com/google/gerrit/server/query/change/RegexPathPredicateTest.java
@@ -79,7 +79,7 @@
   }
 
   private static RegexPathPredicate predicate(String pattern) {
-    return new RegexPathPredicate(ChangeQueryBuilder.FIELD_PATH, pattern);
+    return new RegexPathPredicate(pattern);
   }
 
   private static ChangeData change(String... files) throws OrmException {
diff --git a/gerrit-server/src/test/java/com/google/gerrit/testutil/FilesystemLoggingMockingTestCase.java b/gerrit-server/src/test/java/com/google/gerrit/testutil/FilesystemLoggingMockingTestCase.java
index 0ccdae7..7f8fc32 100644
--- a/gerrit-server/src/test/java/com/google/gerrit/testutil/FilesystemLoggingMockingTestCase.java
+++ b/gerrit-server/src/test/java/com/google/gerrit/testutil/FilesystemLoggingMockingTestCase.java
@@ -170,6 +170,7 @@
     }
   }
 
+  @Override
   public void tearDown() throws Exception {
     cleanupCreatedFiles();
     super.tearDown();
diff --git a/gerrit-solr/src/main/java/com/google/gerrit/solr/SolrChangeIndex.java b/gerrit-solr/src/main/java/com/google/gerrit/solr/SolrChangeIndex.java
index 9e9f103..69b8ed9 100644
--- a/gerrit-solr/src/main/java/com/google/gerrit/solr/SolrChangeIndex.java
+++ b/gerrit-solr/src/main/java/com/google/gerrit/solr/SolrChangeIndex.java
@@ -227,12 +227,12 @@
   }
 
   private class QuerySource implements ChangeDataSource {
-    private final List<SolrServer> indexes;
+    private final List<SolrServer> servers;
     private final SolrQuery query;
 
     public QuerySource(List<SolrServer> indexes, Query q, int start, int limit,
         List<SortClause> sorts) {
-      this.indexes = indexes;
+      this.servers = indexes;
 
       query = new SolrQuery(q.toString());
       query.setParam("shards.tolerant", true);
@@ -264,7 +264,7 @@
       try {
         // TODO Sort documents during merge to select only top N.
         SolrDocumentList docs = new SolrDocumentList();
-        for (SolrServer index : indexes) {
+        for (SolrServer index : servers) {
           docs.addAll(index.query(query).getResults());
         }
 
@@ -298,30 +298,25 @@
     }
   }
 
-  private SolrInputDocument toDocument(ChangeData cd) throws IOException {
-    try {
-      SolrInputDocument result = new SolrInputDocument();
-      for (Values<ChangeData> values : schema.buildFields(cd, fillArgs)) {
-        add(result, values);
-      }
-      return result;
-    } catch (OrmException e) {
-      throw new IOException(e);
+  private SolrInputDocument toDocument(ChangeData cd) {
+    SolrInputDocument result = new SolrInputDocument();
+    for (Values<ChangeData> values : schema.buildFields(cd, fillArgs)) {
+      add(result, values);
     }
+    return result;
   }
 
-  private void add(SolrInputDocument doc, Values<ChangeData> values)
-      throws OrmException {
+  private void add(SolrInputDocument doc, Values<ChangeData> values) {
     String name = values.getField().getName();
     FieldType<?> type = values.getField().getType();
 
     if (type == FieldType.INTEGER) {
       for (Object value : values.getValues()) {
-        doc.addField(name, (Integer) value);
+        doc.addField(name, value);
       }
     } else if (type == FieldType.LONG) {
       for (Object value : values.getValues()) {
-        doc.addField(name, (Long) value);
+        doc.addField(name, value);
       }
     } else if (type == FieldType.TIMESTAMP) {
       @SuppressWarnings("deprecation")
@@ -340,7 +335,7 @@
         || type == FieldType.PREFIX
         || type == FieldType.FULL_TEXT) {
       for (Object value : values.getValues()) {
-        doc.addField(name, (String) value);
+        doc.addField(name, value);
       }
     } else {
       throw QueryBuilder.badFieldType(type);
diff --git a/gerrit-sshd/src/main/java/com/google/gerrit/sshd/BaseCommand.java b/gerrit-sshd/src/main/java/com/google/gerrit/sshd/BaseCommand.java
index bb431f4..c0fd2ac 100644
--- a/gerrit-sshd/src/main/java/com/google/gerrit/sshd/BaseCommand.java
+++ b/gerrit-sshd/src/main/java/com/google/gerrit/sshd/BaseCommand.java
@@ -110,18 +110,22 @@
     task = Atomics.newReference();
   }
 
+  @Override
   public void setInputStream(final InputStream in) {
     this.in = in;
   }
 
+  @Override
   public void setOutputStream(final OutputStream out) {
     this.out = out;
   }
 
+  @Override
   public void setErrorStream(final OutputStream err) {
     this.err = err;
   }
 
+  @Override
   public void setExitCallback(final ExitCallback callback) {
     this.exit = callback;
   }
diff --git a/gerrit-sshd/src/main/java/com/google/gerrit/sshd/CommandFactoryProvider.java b/gerrit-sshd/src/main/java/com/google/gerrit/sshd/CommandFactoryProvider.java
index f394766..f7d4f8f 100644
--- a/gerrit-sshd/src/main/java/com/google/gerrit/sshd/CommandFactoryProvider.java
+++ b/gerrit-sshd/src/main/java/com/google/gerrit/sshd/CommandFactoryProvider.java
@@ -95,6 +95,7 @@
   @Override
   public CommandFactory get() {
     return new CommandFactory() {
+      @Override
       public Command createCommand(final String requestCommand) {
         return new Trampoline(requestCommand);
       }
@@ -121,31 +122,38 @@
       task = Atomics.newReference();
     }
 
+    @Override
     public void setInputStream(final InputStream in) {
       this.in = in;
     }
 
+    @Override
     public void setOutputStream(final OutputStream out) {
       this.out = out;
     }
 
+    @Override
     public void setErrorStream(final OutputStream err) {
       this.err = err;
     }
 
+    @Override
     public void setExitCallback(final ExitCallback callback) {
       this.exit = callback;
     }
 
+    @Override
     public void setSession(final ServerSession session) {
       final SshSession s = session.getAttribute(SshSession.KEY);
       this.ctx = sshScope.newContext(schemaFactory, s, commandLine);
     }
 
+    @Override
     public void start(final Environment env) throws IOException {
       this.env = env;
       final Context ctx = this.ctx;
       task.set(startExecutor.submit(new Runnable() {
+        @Override
         public void run() {
           try {
             onStart();
diff --git a/gerrit-sshd/src/main/java/com/google/gerrit/sshd/NoShell.java b/gerrit-sshd/src/main/java/com/google/gerrit/sshd/NoShell.java
index 78f006b..a63abee 100644
--- a/gerrit-sshd/src/main/java/com/google/gerrit/sshd/NoShell.java
+++ b/gerrit-sshd/src/main/java/com/google/gerrit/sshd/NoShell.java
@@ -54,6 +54,7 @@
     this.shell = shell;
   }
 
+  @Override
   public Command create() {
     return shell.get();
   }
@@ -77,27 +78,33 @@
       this.sshScope = sshScope;
     }
 
+    @Override
     public void setInputStream(final InputStream in) {
       this.in = in;
     }
 
+    @Override
     public void setOutputStream(final OutputStream out) {
       this.out = out;
     }
 
+    @Override
     public void setErrorStream(final OutputStream err) {
       this.err = err;
     }
 
+    @Override
     public void setExitCallback(final ExitCallback callback) {
       this.exit = callback;
     }
 
+    @Override
     public void setSession(final ServerSession session) {
       SshSession s = session.getAttribute(SshSession.KEY);
       this.context = sshScope.newContext(schemaFactory, s, "");
     }
 
+    @Override
     public void start(final Environment env) throws IOException {
       Context old = sshScope.set(context);
       String message;
@@ -115,6 +122,7 @@
       exit.onExit(127);
     }
 
+    @Override
     public void destroy() {
     }
   }
diff --git a/gerrit-sshd/src/main/java/com/google/gerrit/sshd/PluginCommandModule.java b/gerrit-sshd/src/main/java/com/google/gerrit/sshd/PluginCommandModule.java
index 63d3fed..b5378f1 100644
--- a/gerrit-sshd/src/main/java/com/google/gerrit/sshd/PluginCommandModule.java
+++ b/gerrit-sshd/src/main/java/com/google/gerrit/sshd/PluginCommandModule.java
@@ -38,6 +38,7 @@
 
   protected abstract void configureCommands();
 
+  @Override
   protected LinkedBindingBuilder<Command> command(String subCmd) {
     return bind(Commands.key(command, subCmd));
   }
diff --git a/gerrit-sshd/src/main/java/com/google/gerrit/sshd/SshAutoRegisterModuleGenerator.java b/gerrit-sshd/src/main/java/com/google/gerrit/sshd/SshAutoRegisterModuleGenerator.java
index afb2537..8c43438a 100644
--- a/gerrit-sshd/src/main/java/com/google/gerrit/sshd/SshAutoRegisterModuleGenerator.java
+++ b/gerrit-sshd/src/main/java/com/google/gerrit/sshd/SshAutoRegisterModuleGenerator.java
@@ -58,6 +58,7 @@
     }
   }
 
+  @Override
   public void setPluginName(String name) {
     command = Commands.named(name);
   }
diff --git a/gerrit-sshd/src/main/java/com/google/gerrit/sshd/SshDaemon.java b/gerrit-sshd/src/main/java/com/google/gerrit/sshd/SshDaemon.java
index 2f4b293..32e45a9e 100644
--- a/gerrit-sshd/src/main/java/com/google/gerrit/sshd/SshDaemon.java
+++ b/gerrit-sshd/src/main/java/com/google/gerrit/sshd/SshDaemon.java
@@ -142,6 +142,7 @@
  */
 @Singleton
 public class SshDaemon extends SshServer implements SshInfo, LifecycleListener {
+  @SuppressWarnings("hiding") // Don't use AbstractCloseable's logger.
   private static final Logger log = LoggerFactory.getLogger(SshDaemon.class);
 
   public static enum SshSessionBackend {
@@ -153,7 +154,7 @@
   private final List<String> advertised;
   private final boolean keepAlive;
   private final List<HostKey> hostKeys;
-  private volatile IoAcceptor acceptor;
+  private volatile IoAcceptor daemonAcceptor;
   private final Config cfg;
 
   @Inject
@@ -289,26 +290,26 @@
   }
 
   public IoAcceptor getIoAcceptor() {
-    return acceptor;
+    return daemonAcceptor;
   }
 
   @Override
   public synchronized void start() {
-    if (acceptor == null && !listen.isEmpty()) {
+    if (daemonAcceptor == null && !listen.isEmpty()) {
       checkConfig();
       if (sessionFactory == null) {
         sessionFactory = createSessionFactory();
       }
       sessionFactory.setServer(this);
-      acceptor = createAcceptor();
+      daemonAcceptor = createAcceptor();
 
       try {
         String listenAddress = cfg.getString("sshd", null, "listenAddress");
         boolean rewrite = !Strings.isNullOrEmpty(listenAddress)
             && listenAddress.endsWith(":0");
-        acceptor.bind(listen);
+        daemonAcceptor.bind(listen);
         if (rewrite) {
-          SocketAddress bound = Iterables.getOnlyElement(acceptor.getBoundAddresses());
+          SocketAddress bound = Iterables.getOnlyElement(daemonAcceptor.getBoundAddresses());
           cfg.setString("sshd", null, "listenAddress", format((InetSocketAddress)bound));
         }
       } catch (IOException e) {
@@ -326,14 +327,14 @@
 
   @Override
   public synchronized void stop() {
-    if (acceptor != null) {
+    if (daemonAcceptor != null) {
       try {
-        acceptor.close(true).await();
+        daemonAcceptor.close(true).await();
         log.info("Stopped Gerrit SSHD");
       } catch (InterruptedException e) {
         log.warn("Exception caught while closing", e);
       } finally {
-        acceptor = null;
+        daemonAcceptor = null;
       }
     }
   }
diff --git a/gerrit-sshd/src/main/java/com/google/gerrit/sshd/SshKeyCacheImpl.java b/gerrit-sshd/src/main/java/com/google/gerrit/sshd/SshKeyCacheImpl.java
index 2ec67a4..bacb167 100644
--- a/gerrit-sshd/src/main/java/com/google/gerrit/sshd/SshKeyCacheImpl.java
+++ b/gerrit-sshd/src/main/java/com/google/gerrit/sshd/SshKeyCacheImpl.java
@@ -90,6 +90,7 @@
     }
   }
 
+  @Override
   public void evict(String username) {
     if (username != null) {
       cache.invalidate(username);
diff --git a/gerrit-sshd/src/main/java/com/google/gerrit/sshd/SshScope.java b/gerrit-sshd/src/main/java/com/google/gerrit/sshd/SshScope.java
index 8e763df..cd09cfa 100644
--- a/gerrit-sshd/src/main/java/com/google/gerrit/sshd/SshScope.java
+++ b/gerrit-sshd/src/main/java/com/google/gerrit/sshd/SshScope.java
@@ -181,8 +181,10 @@
 
   /** Returns exactly one instance per command executed. */
   public static final Scope REQUEST = new Scope() {
+    @Override
     public <T> Provider<T> scope(final Key<T> key, final Provider<T> creator) {
       return new Provider<T>() {
+        @Override
         public T get() {
           return requireContext().get(key, creator);
         }
diff --git a/gerrit-sshd/src/main/java/com/google/gerrit/sshd/commands/BaseTestPrologCommand.java b/gerrit-sshd/src/main/java/com/google/gerrit/sshd/commands/BaseTestPrologCommand.java
index 0e13fd6..5eda57c 100644
--- a/gerrit-sshd/src/main/java/com/google/gerrit/sshd/commands/BaseTestPrologCommand.java
+++ b/gerrit-sshd/src/main/java/com/google/gerrit/sshd/commands/BaseTestPrologCommand.java
@@ -57,6 +57,7 @@
 
   protected abstract RestModifyView<RevisionResource, Input> createView();
 
+  @Override
   protected final void run() throws UnloggedFailure {
     try {
       RevisionResource revision = revisions.parse(
diff --git a/gerrit-sshd/src/main/java/com/google/gerrit/sshd/commands/CreateProjectCommand.java b/gerrit-sshd/src/main/java/com/google/gerrit/sshd/commands/CreateProjectCommand.java
index 624d4e5..219dab5 100644
--- a/gerrit-sshd/src/main/java/com/google/gerrit/sshd/commands/CreateProjectCommand.java
+++ b/gerrit-sshd/src/main/java/com/google/gerrit/sshd/commands/CreateProjectCommand.java
@@ -33,7 +33,6 @@
 import com.google.gerrit.server.project.SuggestParentCandidates;
 import com.google.gerrit.sshd.CommandMetaData;
 import com.google.gerrit.sshd.SshCommand;
-import com.google.gwtorm.server.OrmException;
 import com.google.inject.Inject;
 
 import org.kohsuke.args4j.Argument;
@@ -91,27 +90,27 @@
   private InheritableBoolean createNewChangeForAllNotInTarget = InheritableBoolean.INHERIT;
 
   @Option(name = "--use-contributor-agreements", aliases = {"--ca"}, usage = "if contributor agreement is required")
-  void setUseContributorArgreements(boolean on) {
+  void setUseContributorArgreements(@SuppressWarnings("unused") boolean on) {
     contributorAgreements = InheritableBoolean.TRUE;
   }
 
   @Option(name = "--use-signed-off-by", aliases = {"--so"}, usage = "if signed-off-by is required")
-  void setUseSignedOffBy(boolean on) {
+  void setUseSignedOffBy(@SuppressWarnings("unused") boolean on) {
     signedOffBy = InheritableBoolean.TRUE;
   }
 
   @Option(name = "--use-content-merge", usage = "allow automatic conflict resolving within files")
-  void setUseContentMerge(boolean on) {
+  void setUseContentMerge(@SuppressWarnings("unused") boolean on) {
     contentMerge = InheritableBoolean.TRUE;
   }
 
   @Option(name = "--require-change-id", aliases = {"--id"}, usage = "if change-id is required")
-  void setRequireChangeId(boolean on) {
+  void setRequireChangeId(@SuppressWarnings("unused") boolean on) {
     requireChangeID = InheritableBoolean.TRUE;
   }
 
   @Option(name = "--create-new-change-for-all-not-in-target", aliases = {"--ncfa"}, usage = "if a new change will be created for every commit not in target branch")
-  void setNewChangeForAllNotInTarget(boolean on) {
+  void setNewChangeForAllNotInTarget(@SuppressWarnings("unused") boolean on) {
     createNewChangeForAllNotInTarget = InheritableBoolean.TRUE;
   }
 
@@ -191,7 +190,7 @@
           stdout.print(parent + "\n");
         }
       }
-    } catch (RestApiException | OrmException | NoSuchProjectException err) {
+    } catch (RestApiException | NoSuchProjectException err) {
       throw new UnloggedFailure(1, "fatal: " + err.getMessage(), err);
     }
   }
diff --git a/gerrit-sshd/src/main/java/com/google/gerrit/sshd/commands/ListMembersCommand.java b/gerrit-sshd/src/main/java/com/google/gerrit/sshd/commands/ListMembersCommand.java
index a312d0d..db497f4 100644
--- a/gerrit-sshd/src/main/java/com/google/gerrit/sshd/commands/ListMembersCommand.java
+++ b/gerrit-sshd/src/main/java/com/google/gerrit/sshd/commands/ListMembersCommand.java
@@ -18,9 +18,7 @@
 
 import com.google.common.base.MoreObjects;
 import com.google.common.base.Strings;
-import com.google.gerrit.extensions.restapi.MethodNotAllowedException;
 import com.google.gerrit.reviewdb.client.AccountGroup;
-import com.google.gerrit.server.account.AccountCache;
 import com.google.gerrit.server.account.AccountInfo;
 import com.google.gerrit.server.account.GroupCache;
 import com.google.gerrit.server.account.GroupDetailFactory.Factory;
@@ -64,13 +62,12 @@
     @Inject
     protected ListMembersCommandImpl(GroupCache groupCache,
         Factory groupDetailFactory,
-        AccountInfo.Loader.Factory accountLoaderFactory,
-        AccountCache accountCache) {
+        AccountInfo.Loader.Factory accountLoaderFactory) {
       super(groupCache, groupDetailFactory, accountLoaderFactory);
       this.groupCache = groupCache;
     }
 
-    void display(PrintWriter writer) throws UnloggedFailure, OrmException {
+    void display(PrintWriter writer) throws OrmException {
       AccountGroup group = groupCache.get(new AccountGroup.NameKey(name));
       String errorText = "Group not found or not visible\n";
 
@@ -80,33 +77,28 @@
         return;
       }
 
-      try {
-        List<AccountInfo> members = apply(group.getGroupUUID());
-        ColumnFormatter formatter = new ColumnFormatter(writer, '\t');
-        formatter.addColumn("id");
-        formatter.addColumn("username");
-        formatter.addColumn("full name");
-        formatter.addColumn("email");
-        formatter.nextLine();
-        for (AccountInfo member : members) {
-          if (member == null) {
-            continue;
-          }
-
-          formatter.addColumn(member._id.toString());
-          formatter.addColumn(MoreObjects.firstNonNull(
-              member.username, "n/a"));
-          formatter.addColumn(MoreObjects.firstNonNull(
-              Strings.emptyToNull(member.name), "n/a"));
-          formatter.addColumn(MoreObjects.firstNonNull(member.email, "n/a"));
-          formatter.nextLine();
+      List<AccountInfo> members = apply(group.getGroupUUID());
+      ColumnFormatter formatter = new ColumnFormatter(writer, '\t');
+      formatter.addColumn("id");
+      formatter.addColumn("username");
+      formatter.addColumn("full name");
+      formatter.addColumn("email");
+      formatter.nextLine();
+      for (AccountInfo member : members) {
+        if (member == null) {
+          continue;
         }
 
-        formatter.finish();
-      } catch (MethodNotAllowedException e) {
-        writer.write(errorText);
-        writer.flush();
+        formatter.addColumn(member._id.toString());
+        formatter.addColumn(MoreObjects.firstNonNull(
+            member.username, "n/a"));
+        formatter.addColumn(MoreObjects.firstNonNull(
+            Strings.emptyToNull(member.name), "n/a"));
+        formatter.addColumn(MoreObjects.firstNonNull(member.email, "n/a"));
+        formatter.nextLine();
       }
+
+      formatter.finish();
     }
   }
 }
diff --git a/gerrit-sshd/src/main/java/com/google/gerrit/sshd/commands/PluginInstallCommand.java b/gerrit-sshd/src/main/java/com/google/gerrit/sshd/commands/PluginInstallCommand.java
index 49120f7..799686d 100644
--- a/gerrit-sshd/src/main/java/com/google/gerrit/sshd/commands/PluginInstallCommand.java
+++ b/gerrit-sshd/src/main/java/com/google/gerrit/sshd/commands/PluginInstallCommand.java
@@ -44,7 +44,7 @@
   private String name;
 
   @Option(name = "-")
-  void useInput(boolean on) {
+  void useInput(@SuppressWarnings("unused") boolean on) {
     source = "-";
   }
 
diff --git a/gerrit-sshd/src/main/java/com/google/gerrit/sshd/commands/PluginLsCommand.java b/gerrit-sshd/src/main/java/com/google/gerrit/sshd/commands/PluginLsCommand.java
index dc8abf2..c3c710d 100644
--- a/gerrit-sshd/src/main/java/com/google/gerrit/sshd/commands/PluginLsCommand.java
+++ b/gerrit-sshd/src/main/java/com/google/gerrit/sshd/commands/PluginLsCommand.java
@@ -35,6 +35,7 @@
     impl.display(stdout);
   }
 
+  @Override
   protected void parseCommandLine() throws UnloggedFailure {
     parseCommandLine(impl);
   }
diff --git a/gerrit-sshd/src/main/java/com/google/gerrit/sshd/commands/ScpCommand.java b/gerrit-sshd/src/main/java/com/google/gerrit/sshd/commands/ScpCommand.java
index 65f876f..bdc4cef 100644
--- a/gerrit-sshd/src/main/java/com/google/gerrit/sshd/commands/ScpCommand.java
+++ b/gerrit-sshd/src/main/java/com/google/gerrit/sshd/commands/ScpCommand.java
@@ -84,6 +84,7 @@
   @Override
   public void start(final Environment env) {
     startThread(new Runnable() {
+      @Override
       public void run() {
         runImp();
       }
diff --git a/gerrit-sshd/src/main/java/com/google/gerrit/sshd/commands/SetAccountCommand.java b/gerrit-sshd/src/main/java/com/google/gerrit/sshd/commands/SetAccountCommand.java
index 3b3df96..b484a3f 100644
--- a/gerrit-sshd/src/main/java/com/google/gerrit/sshd/commands/SetAccountCommand.java
+++ b/gerrit-sshd/src/main/java/com/google/gerrit/sshd/commands/SetAccountCommand.java
@@ -219,7 +219,7 @@
   }
 
   private void addSshKeys(List<String> sshKeys) throws RestApiException,
-      UnloggedFailure, OrmException, IOException {
+      OrmException, IOException {
     for (final String sshKey : sshKeys) {
       AddSshKey.Input in = new AddSshKey.Input();
       in.raw = new RawInput() {
@@ -280,8 +280,7 @@
     }
   }
 
-  private void deleteEmail(String email) throws UnloggedFailure,
-      RestApiException, OrmException {
+  private void deleteEmail(String email) throws RestApiException, OrmException {
     if (email.equals("ALL")) {
       List<EmailInfo> emails = getEmails.apply(rsrc);
       for (EmailInfo e : emails) {
diff --git a/gerrit-sshd/src/main/java/com/google/gerrit/sshd/commands/SetProjectCommand.java b/gerrit-sshd/src/main/java/com/google/gerrit/sshd/commands/SetProjectCommand.java
index cc72e96..0d7cf4d 100644
--- a/gerrit-sshd/src/main/java/com/google/gerrit/sshd/commands/SetProjectCommand.java
+++ b/gerrit-sshd/src/main/java/com/google/gerrit/sshd/commands/SetProjectCommand.java
@@ -66,42 +66,42 @@
   private InheritableBoolean requireChangeID;
 
   @Option(name = "--use-contributor-agreements", aliases = {"--ca"}, usage = "if contributor agreement is required")
-  void setUseContributorArgreements(boolean on) {
+  void setUseContributorArgreements(@SuppressWarnings("unused") boolean on) {
     contributorAgreements = InheritableBoolean.TRUE;
   }
 
   @Option(name = "--no-contributor-agreements", aliases = {"--nca"}, usage = "if contributor agreement is not required")
-  void setNoContributorArgreements(boolean on) {
+  void setNoContributorArgreements(@SuppressWarnings("unused") boolean on) {
     contributorAgreements = InheritableBoolean.FALSE;
   }
 
   @Option(name = "--use-signed-off-by", aliases = {"--so"}, usage = "if signed-off-by is required")
-  void setUseSignedOffBy(boolean on) {
+  void setUseSignedOffBy(@SuppressWarnings("unused") boolean on) {
     signedOffBy = InheritableBoolean.TRUE;
   }
 
   @Option(name = "--no-signed-off-by", aliases = {"--nso"}, usage = "if signed-off-by is not required")
-  void setNoSignedOffBy(boolean on) {
+  void setNoSignedOffBy(@SuppressWarnings("unused") boolean on) {
     signedOffBy = InheritableBoolean.FALSE;
   }
 
   @Option(name = "--use-content-merge", usage = "allow automatic conflict resolving within files")
-  void setUseContentMerge(boolean on) {
+  void setUseContentMerge(@SuppressWarnings("unused") boolean on) {
     contentMerge = InheritableBoolean.TRUE;
   }
 
   @Option(name = "--no-content-merge", usage = "don't allow automatic conflict resolving within files")
-  void setNoContentMerge(boolean on) {
+  void setNoContentMerge(@SuppressWarnings("unused") boolean on) {
     contentMerge = InheritableBoolean.FALSE;
   }
 
   @Option(name = "--require-change-id", aliases = {"--id"}, usage = "if change-id is required")
-  void setRequireChangeId(boolean on) {
+  void setRequireChangeId(@SuppressWarnings("unused") boolean on) {
     requireChangeID = InheritableBoolean.TRUE;
   }
 
   @Option(name = "--no-change-id", aliases = {"--nid"}, usage = "if change-id is not required")
-  void setNoChangeId(boolean on) {
+  void setNoChangeId(@SuppressWarnings("unused") boolean on) {
     requireChangeID = InheritableBoolean.FALSE;
   }
 
diff --git a/gerrit-util-cli/src/main/java/com/google/gerrit/util/cli/CmdLineParser.java b/gerrit-util-cli/src/main/java/com/google/gerrit/util/cli/CmdLineParser.java
index 7771d7f..734b7045 100644
--- a/gerrit-util-cli/src/main/java/com/google/gerrit/util/cli/CmdLineParser.java
+++ b/gerrit-util-cli/src/main/java/com/google/gerrit/util/cli/CmdLineParser.java
@@ -131,7 +131,7 @@
 
     char next = '?';
     List<NamedOptionDef> booleans = new ArrayList<>();
-    for (@SuppressWarnings("rawtypes") OptionHandler handler : parser.options) {
+    for (@SuppressWarnings("rawtypes") OptionHandler handler : parser.optionsList) {
       if (handler.option instanceof NamedOptionDef) {
         NamedOptionDef n = (NamedOptionDef) handler.option;
 
@@ -274,7 +274,7 @@
   @SuppressWarnings("rawtypes")
   private OptionHandler findHandler(String name) {
     if (options == null) {
-      options = index(parser.options);
+      options = index(parser.optionsList);
     }
     return options.get(name);
   }
@@ -318,7 +318,7 @@
 
   private class MyParser extends org.kohsuke.args4j.CmdLineParser {
     @SuppressWarnings("rawtypes")
-    private List<OptionHandler> options;
+    private List<OptionHandler> optionsList;
     private HelpOption help;
 
     MyParser(final Object bean) {
@@ -344,14 +344,14 @@
     @SuppressWarnings("rawtypes")
     private OptionHandler add(OptionHandler handler) {
       ensureOptionsInitialized();
-      options.add(handler);
+      optionsList.add(handler);
       return handler;
     }
 
     private void ensureOptionsInitialized() {
-      if (options == null) {
+      if (optionsList == null) {
         help = new HelpOption();
-        options = Lists.newArrayList();
+        optionsList = Lists.newArrayList();
         addOption(help, help);
       }
     }
diff --git a/gerrit-util-ssl/src/main/java/com/google/gerrit/util/ssl/BlindSSLSocketFactory.java b/gerrit-util-ssl/src/main/java/com/google/gerrit/util/ssl/BlindSSLSocketFactory.java
index ed31379..b8af85e 100644
--- a/gerrit-util-ssl/src/main/java/com/google/gerrit/util/ssl/BlindSSLSocketFactory.java
+++ b/gerrit-util-ssl/src/main/java/com/google/gerrit/util/ssl/BlindSSLSocketFactory.java
@@ -34,13 +34,16 @@
 
   static {
     final X509TrustManager dummyTrustManager = new X509TrustManager() {
+      @Override
       public X509Certificate[] getAcceptedIssuers() {
         return null;
       }
 
+      @Override
       public void checkClientTrusted(X509Certificate[] chain, String authType) {
       }
 
+      @Override
       public void checkServerTrusted(X509Certificate[] chain, String authType) {
       }
     };
diff --git a/plugins/commit-message-length-validator b/plugins/commit-message-length-validator
index c882e58..273972a 160000
--- a/plugins/commit-message-length-validator
+++ b/plugins/commit-message-length-validator
@@ -1 +1 @@
-Subproject commit c882e583226d712053ad02fdee4afcfd1e4df915
+Subproject commit 273972a3b03b0e95f9ea69ad424042123306a7ee
diff --git a/plugins/download-commands b/plugins/download-commands
index 4e978f9..baa09c2 160000
--- a/plugins/download-commands
+++ b/plugins/download-commands
@@ -1 +1 @@
-Subproject commit 4e978f916d429ab22b0ea28d25ac87755513cc56
+Subproject commit baa09c2e265a2b264a5fb4571e7eefda04def0c4
diff --git a/plugins/replication b/plugins/replication
index ada673d..b34fa3e 160000
--- a/plugins/replication
+++ b/plugins/replication
@@ -1 +1 @@
-Subproject commit ada673decd7b603734dbbadb31510219fa5b1123
+Subproject commit b34fa3eb1c0002923a3a458abf7b035c7b439e71
diff --git a/plugins/reviewnotes b/plugins/reviewnotes
index b2e2b70..862e8b7 160000
--- a/plugins/reviewnotes
+++ b/plugins/reviewnotes
@@ -1 +1 @@
-Subproject commit b2e2b7046f4830ff41fcfe2e115fa349e3635135
+Subproject commit 862e8b72a32ec27d39011d42f9f3e0892bc9bee0