diff --git a/src/main/java/com/googlesource/gerrit/plugins/serviceuser/PutConfig.java b/src/main/java/com/googlesource/gerrit/plugins/serviceuser/PutConfig.java
index b65c368..ea89499 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/serviceuser/PutConfig.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/serviceuser/PutConfig.java
@@ -106,7 +106,7 @@
       cfg.setStringList("plugin", pluginName, "group", input.groups);
     }
     cfg.save();
-    cfgFactory.getFromGerritConfig(pluginName, true);
+    var unused = cfgFactory.getFromGerritConfig(pluginName, true);
     return Response.<String>ok("OK");
   }
 
diff --git a/src/main/java/com/googlesource/gerrit/plugins/serviceuser/PutEmail.java b/src/main/java/com/googlesource/gerrit/plugins/serviceuser/PutEmail.java
index 49ec008..936313f 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/serviceuser/PutEmail.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/serviceuser/PutEmail.java
@@ -114,17 +114,17 @@
       return Response.ok(email);
     } else {
       if (email != null) {
-        deleteEmail.get().apply(rsrc.getUser(), email);
+        var unused = deleteEmail.get().apply(rsrc.getUser(), email);
       }
       EmailInput in = new EmailInput();
       in.email = input.email;
       in.noConfirmation = true;
-      createEmail.get().apply(rsrc.getUser(), IdString.fromDecoded(in.email), in);
-      putPreferred.get().apply(rsrc.getUser(), input.email);
+      var unused = createEmail.get().apply(rsrc.getUser(), IdString.fromDecoded(in.email), in);
+      Response<?> putPreferredResp = putPreferred.get().apply(rsrc.getUser(), input.email);
 
       outgoingEmailFactory.create(rsrc, Operation.ADD_EMAIL).send();
 
-      return Response.ok(input.email);
+      return putPreferredResp;
     }
   }
 }
diff --git a/src/main/java/com/googlesource/gerrit/plugins/serviceuser/ServiceUserResolver.java b/src/main/java/com/googlesource/gerrit/plugins/serviceuser/ServiceUserResolver.java
index 0c46e26..8278688 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/serviceuser/ServiceUserResolver.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/serviceuser/ServiceUserResolver.java
@@ -158,7 +158,7 @@
       }
       return owners;
     } finally {
-      tl.setContext(old);
+      var unused = tl.setContext(old);
     }
   }
 
