Prefer requireNonNull from Java API over Guava's checkNotNull

Most replacements are a trivial one-to-one replacement of the call to
checkNotNull with requireNonNull, however there are some calls that
make use of checkNotNull's variable argument list and formatting
parameters. Replace these with String.format wrapped in a supplier.

Using the Java API rather than Guava means we can get rid of the
custom implementation, and Edwin's TODO, in AccessSection.

Change-Id: I1d4a6b342e3544abdbba4f05ac4308d223b6768b
diff --git a/java/com/google/gerrit/acceptance/AccountCreator.java b/java/com/google/gerrit/acceptance/AccountCreator.java
index 69492a9..b8a8776 100644
--- a/java/com/google/gerrit/acceptance/AccountCreator.java
+++ b/java/com/google/gerrit/acceptance/AccountCreator.java
@@ -14,7 +14,7 @@
 
 package com.google.gerrit.acceptance;
 
-import static com.google.common.base.Preconditions.checkNotNull;
+import static java.util.Objects.requireNonNull;
 
 import com.google.common.collect.ImmutableList;
 import com.google.common.collect.ImmutableSet;
@@ -144,7 +144,8 @@
   }
 
   public TestAccount get(String username) {
-    return checkNotNull(accounts.get(username), "No TestAccount created for %s", username);
+    return requireNonNull(
+        accounts.get(username), () -> String.format("No TestAccount created for %s ", username));
   }
 
   public void evict(Collection<Account.Id> ids) {
diff --git a/java/com/google/gerrit/acceptance/GerritServer.java b/java/com/google/gerrit/acceptance/GerritServer.java
index bf690ad..9f9cbf9 100644
--- a/java/com/google/gerrit/acceptance/GerritServer.java
+++ b/java/com/google/gerrit/acceptance/GerritServer.java
@@ -15,8 +15,8 @@
 package com.google.gerrit.acceptance;
 
 import static com.google.common.base.Preconditions.checkArgument;
-import static com.google.common.base.Preconditions.checkNotNull;
 import static com.google.common.base.Preconditions.checkState;
+import static java.util.Objects.requireNonNull;
 import static org.apache.log4j.Logger.getLogger;
 
 import com.google.auto.value.AutoValue;
@@ -411,7 +411,7 @@
       CyclicBarrier serverStarted,
       String[] additionalArgs)
       throws Exception {
-    checkNotNull(site);
+    requireNonNull(site);
     ExecutorService daemonService = Executors.newSingleThreadExecutor();
     String[] args =
         Stream.concat(
@@ -535,10 +535,10 @@
       Injector testInjector,
       Daemon daemon,
       @Nullable ExecutorService daemonService) {
-    this.desc = checkNotNull(desc);
+    this.desc = requireNonNull(desc);
     this.sitePath = sitePath;
-    this.testInjector = checkNotNull(testInjector);
-    this.daemon = checkNotNull(daemon);
+    this.testInjector = requireNonNull(testInjector);
+    this.daemon = requireNonNull(daemon);
     this.daemonService = daemonService;
 
     Config cfg = testInjector.getInstance(Key.get(Config.class, GerritServerConfig.class));
diff --git a/java/com/google/gerrit/acceptance/HttpResponse.java b/java/com/google/gerrit/acceptance/HttpResponse.java
index 3e98d71..8132c32 100644
--- a/java/com/google/gerrit/acceptance/HttpResponse.java
+++ b/java/com/google/gerrit/acceptance/HttpResponse.java
@@ -16,8 +16,8 @@
 
 import static com.google.common.collect.ImmutableList.toImmutableList;
 import static java.nio.charset.StandardCharsets.UTF_8;
+import static java.util.Objects.requireNonNull;
 
-import com.google.common.base.Preconditions;
 import com.google.common.collect.ImmutableList;
 import java.io.IOException;
 import java.io.InputStreamReader;
@@ -72,13 +72,13 @@
   }
 
   public boolean hasContent() {
-    Preconditions.checkNotNull(response, "Response is not initialized.");
+    requireNonNull(response, "Response is not initialized.");
     return response.getEntity() != null;
   }
 
   public String getEntityContent() throws IOException {
-    Preconditions.checkNotNull(response, "Response is not initialized.");
-    Preconditions.checkNotNull(response.getEntity(), "Response.Entity is not initialized.");
+    requireNonNull(response, "Response is not initialized.");
+    requireNonNull(response.getEntity(), "Response.Entity is not initialized.");
     ByteBuffer buf = IO.readWholeStream(response.getEntity().getContent(), 1024);
     return RawParseUtils.decode(buf.array(), buf.arrayOffset(), buf.limit()).trim();
   }
diff --git a/java/com/google/gerrit/acceptance/RestSession.java b/java/com/google/gerrit/acceptance/RestSession.java
index 1a3c029..e77e527 100644
--- a/java/com/google/gerrit/acceptance/RestSession.java
+++ b/java/com/google/gerrit/acceptance/RestSession.java
@@ -15,8 +15,8 @@
 package com.google.gerrit.acceptance;
 
 import static java.nio.charset.StandardCharsets.UTF_8;
+import static java.util.Objects.requireNonNull;
 
-import com.google.common.base.Preconditions;
 import com.google.common.net.HttpHeaders;
 import com.google.gerrit.common.Nullable;
 import com.google.gerrit.extensions.restapi.RawInput;
@@ -81,7 +81,7 @@
   }
 
   public RestResponse putRaw(String endPoint, RawInput stream) throws IOException {
-    Preconditions.checkNotNull(stream);
+    requireNonNull(stream);
     Request put = Request.Put(getUrl(endPoint));
     put.addHeader(new BasicHeader("Content-Type", stream.getContentType()));
     put.body(
diff --git a/java/com/google/gerrit/common/RawInputUtil.java b/java/com/google/gerrit/common/RawInputUtil.java
index f59d4a9..5d7548c 100644
--- a/java/com/google/gerrit/common/RawInputUtil.java
+++ b/java/com/google/gerrit/common/RawInputUtil.java
@@ -15,6 +15,7 @@
 package com.google.gerrit.common;
 
 import static java.nio.charset.StandardCharsets.UTF_8;
+import static java.util.Objects.requireNonNull;
 
 import com.google.common.annotations.GwtIncompatible;
 import com.google.common.base.Preconditions;
@@ -31,7 +32,7 @@
   }
 
   public static RawInput create(byte[] bytes, String contentType) {
-    Preconditions.checkNotNull(bytes);
+    requireNonNull(bytes);
     Preconditions.checkArgument(bytes.length > 0);
     return new RawInput() {
       @Override
diff --git a/java/com/google/gerrit/common/data/AccessSection.java b/java/com/google/gerrit/common/data/AccessSection.java
index 0530cc0..49948f8f 100644
--- a/java/com/google/gerrit/common/data/AccessSection.java
+++ b/java/com/google/gerrit/common/data/AccessSection.java
@@ -14,6 +14,8 @@
 
 package com.google.gerrit.common.data;
 
+import static java.util.Objects.requireNonNull;
+
 import com.google.gerrit.common.Nullable;
 import com.google.gerrit.reviewdb.client.Project;
 import java.util.ArrayList;
@@ -43,7 +45,7 @@
   }
 
   public void setPermissions(List<Permission> list) {
-    checkNotNull(list);
+    requireNonNull(list);
 
     Set<String> names = new HashSet<>();
     for (Permission p : list) {
@@ -62,7 +64,7 @@
 
   @Nullable
   public Permission getPermission(String name, boolean create) {
-    checkNotNull(name);
+    requireNonNull(name);
 
     if (permissions != null) {
       for (Permission p : permissions) {
@@ -86,7 +88,7 @@
   }
 
   public void addPermission(Permission permission) {
-    checkNotNull(permission);
+    requireNonNull(permission);
 
     if (permissions == null) {
       permissions = new ArrayList<>();
@@ -102,12 +104,12 @@
   }
 
   public void remove(Permission permission) {
-    checkNotNull(permission);
+    requireNonNull(permission);
     removePermission(permission.getName());
   }
 
   public void removePermission(String name) {
-    checkNotNull(name);
+    requireNonNull(name);
 
     if (permissions != null) {
       permissions.removeIf(permission -> name.equalsIgnoreCase(permission.getName()));
@@ -115,7 +117,7 @@
   }
 
   public void mergeFrom(AccessSection section) {
-    checkNotNull(section);
+    requireNonNull(section);
 
     for (Permission src : section.getPermissions()) {
       Permission dst = getPermission(src.getName());
@@ -127,13 +129,6 @@
     }
   }
 
-  // TODO(ekempin): Once the GWT UI is gone use com.google.common.base.Preconditions.checkNotNull
-  private static void checkNotNull(Object reference) {
-    if (reference == null) {
-      throw new NullPointerException();
-    }
-  }
-
   @Override
   public int compareTo(AccessSection o) {
     return comparePattern().compareTo(o.comparePattern());
diff --git a/java/com/google/gerrit/elasticsearch/ElasticChangeIndex.java b/java/com/google/gerrit/elasticsearch/ElasticChangeIndex.java
index d7c8b00..1224c61 100644
--- a/java/com/google/gerrit/elasticsearch/ElasticChangeIndex.java
+++ b/java/com/google/gerrit/elasticsearch/ElasticChangeIndex.java
@@ -14,13 +14,13 @@
 
 package com.google.gerrit.elasticsearch;
 
-import static com.google.common.base.Preconditions.checkNotNull;
 import static com.google.gerrit.reviewdb.server.ReviewDbCodecs.APPROVAL_CODEC;
 import static com.google.gerrit.reviewdb.server.ReviewDbCodecs.CHANGE_CODEC;
 import static com.google.gerrit.reviewdb.server.ReviewDbCodecs.PATCH_SET_CODEC;
 import static com.google.gerrit.server.index.change.ChangeIndexRewriter.CLOSED_STATUSES;
 import static com.google.gerrit.server.index.change.ChangeIndexRewriter.OPEN_STATUSES;
 import static java.nio.charset.StandardCharsets.UTF_8;
+import static java.util.Objects.requireNonNull;
 import static org.apache.commons.codec.binary.Base64.decodeBase64;
 
 import com.google.common.collect.FluentIterable;
@@ -218,7 +218,7 @@
     if (c == null) {
       int id = source.get(ChangeField.LEGACY_ID.getName()).getAsInt();
       // IndexUtils#changeFields ensures either CHANGE or PROJECT is always present.
-      String projectName = checkNotNull(source.get(ChangeField.PROJECT.getName()).getAsString());
+      String projectName = requireNonNull(source.get(ChangeField.PROJECT.getName()).getAsString());
       return changeDataFactory.create(
           db.get(), new Project.NameKey(projectName), new Change.Id(id));
     }
diff --git a/java/com/google/gerrit/extensions/api/access/PluginPermission.java b/java/com/google/gerrit/extensions/api/access/PluginPermission.java
index 449135d..1dc5cb6 100644
--- a/java/com/google/gerrit/extensions/api/access/PluginPermission.java
+++ b/java/com/google/gerrit/extensions/api/access/PluginPermission.java
@@ -14,7 +14,7 @@
 
 package com.google.gerrit.extensions.api.access;
 
-import static com.google.common.base.Preconditions.checkNotNull;
+import static java.util.Objects.requireNonNull;
 
 import java.util.Objects;
 
@@ -29,8 +29,8 @@
   }
 
   public PluginPermission(String pluginName, String capability, boolean fallBackToAdmin) {
-    this.pluginName = checkNotNull(pluginName, "pluginName");
-    this.capability = checkNotNull(capability, "capability");
+    this.pluginName = requireNonNull(pluginName, "pluginName");
+    this.capability = requireNonNull(capability, "capability");
     this.fallBackToAdmin = fallBackToAdmin;
   }
 
diff --git a/java/com/google/gerrit/extensions/auth/oauth/OAuthToken.java b/java/com/google/gerrit/extensions/auth/oauth/OAuthToken.java
index 84b6a04..8d5e744 100644
--- a/java/com/google/gerrit/extensions/auth/oauth/OAuthToken.java
+++ b/java/com/google/gerrit/extensions/auth/oauth/OAuthToken.java
@@ -14,7 +14,7 @@
 
 package com.google.gerrit.extensions.auth.oauth;
 
-import static com.google.common.base.Preconditions.checkNotNull;
+import static java.util.Objects.requireNonNull;
 
 import com.google.common.base.MoreObjects;
 import com.google.common.base.Strings;
@@ -55,9 +55,9 @@
 
   public OAuthToken(
       String token, String secret, String raw, long expiresAt, @Nullable String providerId) {
-    this.token = checkNotNull(token, "token");
-    this.secret = checkNotNull(secret, "secret");
-    this.raw = checkNotNull(raw, "raw");
+    this.token = requireNonNull(token, "token");
+    this.secret = requireNonNull(secret, "secret");
+    this.raw = requireNonNull(raw, "raw");
     this.expiresAt = expiresAt;
     this.providerId = Strings.emptyToNull(providerId);
   }
diff --git a/java/com/google/gerrit/extensions/registration/PrivateInternals_DynamicMapImpl.java b/java/com/google/gerrit/extensions/registration/PrivateInternals_DynamicMapImpl.java
index 1973f70..cef9e0c 100644
--- a/java/com/google/gerrit/extensions/registration/PrivateInternals_DynamicMapImpl.java
+++ b/java/com/google/gerrit/extensions/registration/PrivateInternals_DynamicMapImpl.java
@@ -14,7 +14,7 @@
 
 package com.google.gerrit.extensions.registration;
 
-import static com.google.common.base.Preconditions.checkNotNull;
+import static java.util.Objects.requireNonNull;
 
 import com.google.gerrit.extensions.annotations.Export;
 import com.google.inject.Key;
@@ -33,7 +33,7 @@
    * @return handle to remove the item at a later point in time.
    */
   public RegistrationHandle put(String pluginName, String exportName, Provider<T> item) {
-    checkNotNull(item);
+    requireNonNull(item);
     final NamePair key = new NamePair(pluginName, exportName);
     items.put(key, item);
     return new RegistrationHandle() {
@@ -56,7 +56,7 @@
    *     the collection.
    */
   public ReloadableRegistrationHandle<T> put(String pluginName, Key<T> key, Provider<T> item) {
-    checkNotNull(item);
+    requireNonNull(item);
     String exportName = ((Export) key.getAnnotation()).value();
     NamePair np = new NamePair(pluginName, exportName);
     items.put(np, item);
diff --git a/java/com/google/gerrit/httpd/raw/ResourceServlet.java b/java/com/google/gerrit/httpd/raw/ResourceServlet.java
index 3244232..4b44af4 100644
--- a/java/com/google/gerrit/httpd/raw/ResourceServlet.java
+++ b/java/com/google/gerrit/httpd/raw/ResourceServlet.java
@@ -14,12 +14,12 @@
 
 package com.google.gerrit.httpd.raw;
 
-import static com.google.common.base.Preconditions.checkNotNull;
 import static com.google.common.net.HttpHeaders.CONTENT_ENCODING;
 import static com.google.common.net.HttpHeaders.ETAG;
 import static com.google.common.net.HttpHeaders.IF_MODIFIED_SINCE;
 import static com.google.common.net.HttpHeaders.IF_NONE_MATCH;
 import static com.google.common.net.HttpHeaders.LAST_MODIFIED;
+import static java.util.Objects.requireNonNull;
 import static java.util.concurrent.TimeUnit.DAYS;
 import static java.util.concurrent.TimeUnit.MINUTES;
 import static javax.servlet.http.HttpServletResponse.SC_INTERNAL_SERVER_ERROR;
@@ -111,7 +111,7 @@
       boolean refresh,
       boolean cacheOnClient,
       int cacheFileSizeLimitBytes) {
-    this.cache = checkNotNull(cache, "cache");
+    this.cache = requireNonNull(cache, "cache");
     this.refresh = refresh;
     this.cacheOnClient = cacheOnClient;
     this.cacheFileSizeLimitBytes = cacheFileSizeLimitBytes;
@@ -308,9 +308,9 @@
     final byte[] raw;
 
     Resource(FileTime lastModified, String contentType, byte[] raw) {
-      this.lastModified = checkNotNull(lastModified, "lastModified");
-      this.contentType = checkNotNull(contentType, "contentType");
-      this.raw = checkNotNull(raw, "raw");
+      this.lastModified = requireNonNull(lastModified, "lastModified");
+      this.contentType = requireNonNull(contentType, "contentType");
+      this.raw = requireNonNull(raw, "raw");
       this.etag = Hashing.murmur3_128().hashBytes(raw).toString();
     }
 
diff --git a/java/com/google/gerrit/httpd/restapi/RestApiServlet.java b/java/com/google/gerrit/httpd/restapi/RestApiServlet.java
index 22d05a6..519a218 100644
--- a/java/com/google/gerrit/httpd/restapi/RestApiServlet.java
+++ b/java/com/google/gerrit/httpd/restapi/RestApiServlet.java
@@ -16,7 +16,6 @@
 package com.google.gerrit.httpd.restapi;
 
 import static com.google.common.base.Preconditions.checkArgument;
-import static com.google.common.base.Preconditions.checkNotNull;
 import static com.google.common.base.Preconditions.checkState;
 import static com.google.common.flogger.LazyArgs.lazy;
 import static com.google.common.net.HttpHeaders.ACCESS_CONTROL_ALLOW_CREDENTIALS;
@@ -33,6 +32,7 @@
 import static java.math.RoundingMode.CEILING;
 import static java.nio.charset.StandardCharsets.ISO_8859_1;
 import static java.nio.charset.StandardCharsets.UTF_8;
+import static java.util.Objects.requireNonNull;
 import static java.util.stream.Collectors.joining;
 import static javax.servlet.http.HttpServletResponse.SC_ACCEPTED;
 import static javax.servlet.http.HttpServletResponse.SC_BAD_REQUEST;
@@ -268,7 +268,7 @@
       Provider<? extends RestCollection<? extends RestResource, ? extends RestResource>> members) {
     @SuppressWarnings("unchecked")
     Provider<RestCollection<RestResource, RestResource>> n =
-        (Provider<RestCollection<RestResource, RestResource>>) checkNotNull((Object) members);
+        (Provider<RestCollection<RestResource, RestResource>>) requireNonNull((Object) members);
     this.globals = globals;
     this.members = n;
   }
diff --git a/java/com/google/gerrit/httpd/rpc/project/ProjectAccessHandler.java b/java/com/google/gerrit/httpd/rpc/project/ProjectAccessHandler.java
index 0bcd8f8..44c8966 100644
--- a/java/com/google/gerrit/httpd/rpc/project/ProjectAccessHandler.java
+++ b/java/com/google/gerrit/httpd/rpc/project/ProjectAccessHandler.java
@@ -14,8 +14,8 @@
 
 package com.google.gerrit.httpd.rpc.project;
 
-import static com.google.common.base.Preconditions.checkNotNull;
 import static com.google.gerrit.common.ProjectAccessUtil.mergeSections;
+import static java.util.Objects.requireNonNull;
 
 import com.google.common.base.MoreObjects;
 import com.google.gerrit.common.data.AccessSection;
@@ -235,7 +235,7 @@
 
   /** Provide a local cache for {@code ProjectPermission.WRITE_CONFIG} capability. */
   private boolean canWriteConfig() throws PermissionBackendException {
-    checkNotNull(user);
+    requireNonNull(user);
 
     if (canWriteConfig != null) {
       return canWriteConfig;
diff --git a/java/com/google/gerrit/index/FieldDef.java b/java/com/google/gerrit/index/FieldDef.java
index b1ffac1..beb9c07 100644
--- a/java/com/google/gerrit/index/FieldDef.java
+++ b/java/com/google/gerrit/index/FieldDef.java
@@ -15,7 +15,7 @@
 package com.google.gerrit.index;
 
 import static com.google.common.base.Preconditions.checkArgument;
-import static com.google.common.base.Preconditions.checkNotNull;
+import static java.util.Objects.requireNonNull;
 
 import com.google.common.base.CharMatcher;
 import com.google.gwtorm.server.OrmException;
@@ -69,8 +69,8 @@
     private boolean stored;
 
     public Builder(FieldType<T> type, String name) {
-      this.type = checkNotNull(type);
-      this.name = checkNotNull(name);
+      this.type = requireNonNull(type);
+      this.name = requireNonNull(name);
     }
 
     public Builder<T> stored() {
@@ -99,10 +99,10 @@
         !(repeatable && type == FieldType.INTEGER_RANGE),
         "Range queries against repeated fields are unsupported");
     this.name = checkName(name);
-    this.type = checkNotNull(type);
+    this.type = requireNonNull(type);
     this.stored = stored;
     this.repeatable = repeatable;
-    this.getter = checkNotNull(getter);
+    this.getter = requireNonNull(getter);
   }
 
   private static String checkName(String name) {
diff --git a/java/com/google/gerrit/index/SchemaDefinitions.java b/java/com/google/gerrit/index/SchemaDefinitions.java
index f9c690c..e8efd22 100644
--- a/java/com/google/gerrit/index/SchemaDefinitions.java
+++ b/java/com/google/gerrit/index/SchemaDefinitions.java
@@ -15,7 +15,7 @@
 package com.google.gerrit.index;
 
 import static com.google.common.base.Preconditions.checkArgument;
-import static com.google.common.base.Preconditions.checkNotNull;
+import static java.util.Objects.requireNonNull;
 
 import com.google.common.collect.ImmutableSortedMap;
 import com.google.common.collect.Iterables;
@@ -34,7 +34,7 @@
   private final ImmutableSortedMap<Integer, Schema<V>> schemas;
 
   protected SchemaDefinitions(String name, Class<V> valueClass) {
-    this.name = checkNotNull(name);
+    this.name = requireNonNull(name);
     this.schemas = SchemaUtil.schemasFromClass(getClass(), valueClass);
   }
 
diff --git a/java/com/google/gerrit/index/SiteIndexer.java b/java/com/google/gerrit/index/SiteIndexer.java
index 9c56396..c3ab8a4 100644
--- a/java/com/google/gerrit/index/SiteIndexer.java
+++ b/java/com/google/gerrit/index/SiteIndexer.java
@@ -14,8 +14,8 @@
 
 package com.google.gerrit.index;
 
-import static com.google.common.base.Preconditions.checkNotNull;
 import static java.nio.charset.StandardCharsets.UTF_8;
+import static java.util.Objects.requireNonNull;
 
 import com.google.common.base.Stopwatch;
 import com.google.common.flogger.FluentLogger;
@@ -73,11 +73,11 @@
   }
 
   public void setProgressOut(OutputStream out) {
-    progressOut = checkNotNull(out);
+    progressOut = requireNonNull(out);
   }
 
   public void setVerboseOut(OutputStream out) {
-    verboseWriter = newPrintWriter(checkNotNull(out));
+    verboseWriter = newPrintWriter(requireNonNull(out));
   }
 
   public abstract Result indexAll(I index);
diff --git a/java/com/google/gerrit/index/project/ProjectIndexRewriter.java b/java/com/google/gerrit/index/project/ProjectIndexRewriter.java
index 096bb64..9e2bbdc 100644
--- a/java/com/google/gerrit/index/project/ProjectIndexRewriter.java
+++ b/java/com/google/gerrit/index/project/ProjectIndexRewriter.java
@@ -14,7 +14,7 @@
 
 package com.google.gerrit.index.project;
 
-import static com.google.common.base.Preconditions.checkNotNull;
+import static java.util.Objects.requireNonNull;
 
 import com.google.gerrit.index.IndexRewriter;
 import com.google.gerrit.index.QueryOptions;
@@ -36,7 +36,7 @@
   public Predicate<ProjectData> rewrite(Predicate<ProjectData> in, QueryOptions opts)
       throws QueryParseException {
     ProjectIndex index = indexes.getSearchIndex();
-    checkNotNull(index, "no active search index configured for projects");
+    requireNonNull(index, "no active search index configured for projects");
     return new IndexedProjectQuery(index, in, opts);
   }
 }
diff --git a/java/com/google/gerrit/lucene/LuceneChangeIndex.java b/java/com/google/gerrit/lucene/LuceneChangeIndex.java
index 7dfaac1..66db468 100644
--- a/java/com/google/gerrit/lucene/LuceneChangeIndex.java
+++ b/java/com/google/gerrit/lucene/LuceneChangeIndex.java
@@ -14,7 +14,6 @@
 
 package com.google.gerrit.lucene;
 
-import static com.google.common.base.Preconditions.checkNotNull;
 import static com.google.gerrit.lucene.AbstractLuceneIndex.sortFieldName;
 import static com.google.gerrit.reviewdb.server.ReviewDbCodecs.APPROVAL_CODEC;
 import static com.google.gerrit.reviewdb.server.ReviewDbCodecs.CHANGE_CODEC;
@@ -24,6 +23,7 @@
 import static com.google.gerrit.server.index.change.ChangeField.PROJECT;
 import static com.google.gerrit.server.index.change.ChangeIndexRewriter.CLOSED_STATUSES;
 import static com.google.gerrit.server.index.change.ChangeIndexRewriter.OPEN_STATUSES;
+import static java.util.Objects.requireNonNull;
 import static java.util.stream.Collectors.toList;
 
 import com.google.common.base.Function;
@@ -281,7 +281,7 @@
         throws QueryParseException {
       this.indexes = indexes;
       this.predicate = predicate;
-      this.query = checkNotNull(queryBuilder.toQuery(predicate), "null query from Lucene");
+      this.query = requireNonNull(queryBuilder.toQuery(predicate), "null query from Lucene");
       this.opts = opts;
       this.sort = sort;
       this.rawDocumentMapper = rawDocumentMapper;
diff --git a/java/com/google/gerrit/pgm/Daemon.java b/java/com/google/gerrit/pgm/Daemon.java
index bbd62cc..2249c76 100644
--- a/java/com/google/gerrit/pgm/Daemon.java
+++ b/java/com/google/gerrit/pgm/Daemon.java
@@ -14,9 +14,9 @@
 
 package com.google.gerrit.pgm;
 
-import static com.google.common.base.Preconditions.checkNotNull;
 import static com.google.gerrit.server.schema.DataSourceProvider.Context.MULTI_USER;
 import static java.nio.charset.StandardCharsets.UTF_8;
+import static java.util.Objects.requireNonNull;
 
 import com.google.common.annotations.VisibleForTesting;
 import com.google.common.base.MoreObjects;
@@ -500,7 +500,7 @@
   }
 
   private boolean migrateToNoteDb() {
-    return migrateToNoteDb || NoteDbMigrator.getAutoMigrate(checkNotNull(config));
+    return migrateToNoteDb || NoteDbMigrator.getAutoMigrate(requireNonNull(config));
   }
 
   private Module createIndexModule() {
diff --git a/java/com/google/gerrit/pgm/ProtobufImport.java b/java/com/google/gerrit/pgm/ProtobufImport.java
index 0732b28..0179b1d 100644
--- a/java/com/google/gerrit/pgm/ProtobufImport.java
+++ b/java/com/google/gerrit/pgm/ProtobufImport.java
@@ -14,9 +14,9 @@
 
 package com.google.gerrit.pgm;
 
-import static com.google.common.base.Preconditions.checkNotNull;
 import static com.google.common.base.Preconditions.checkState;
 import static com.google.gerrit.server.schema.DataSourceProvider.Context.SINGLE_USER;
+import static java.util.Objects.requireNonNull;
 
 import com.google.auto.value.AutoValue;
 import com.google.common.collect.Iterables;
@@ -101,11 +101,9 @@
           Map.Entry<Integer, UnknownFieldSet.Field> e =
               Iterables.getOnlyElement(msg.asMap().entrySet());
           Relation rel =
-              checkNotNull(
+              requireNonNull(
                   relations.get(e.getKey()),
-                  "unknown relation ID %s in message: %s",
-                  e.getKey(),
-                  msg);
+                  String.format("unknown relation ID %s in message: %s", e.getKey(), msg));
           List<ByteString> values = e.getValue().getLengthDelimitedList();
           checkState(values.size() == 1, "expected one string field in message: %s", msg);
           upsert(rel, values.get(0));
diff --git a/java/com/google/gerrit/pgm/Reindex.java b/java/com/google/gerrit/pgm/Reindex.java
index d26e4f71..52d3bd3 100644
--- a/java/com/google/gerrit/pgm/Reindex.java
+++ b/java/com/google/gerrit/pgm/Reindex.java
@@ -14,8 +14,8 @@
 
 package com.google.gerrit.pgm;
 
-import static com.google.common.base.Preconditions.checkNotNull;
 import static com.google.gerrit.server.schema.DataSourceProvider.Context.MULTI_USER;
+import static java.util.Objects.requireNonNull;
 import static java.util.stream.Collectors.toSet;
 
 import com.google.common.collect.Sets;
@@ -132,7 +132,7 @@
       return;
     }
 
-    checkNotNull(indexDefs, "Called this method before injectMembers?");
+    requireNonNull(indexDefs, "Called this method before injectMembers?");
     Set<String> valid = indexDefs.stream().map(IndexDefinition::getName).sorted().collect(toSet());
     Set<String> invalid = Sets.difference(Sets.newHashSet(indices), valid);
     if (invalid.isEmpty()) {
@@ -192,7 +192,8 @@
   private <K, V, I extends Index<K, V>> boolean reindex(IndexDefinition<K, V, I> def)
       throws IOException {
     I index = def.getIndexCollection().getSearchIndex();
-    checkNotNull(index, "no active search index configured for %s", def.getName());
+    requireNonNull(
+        index, () -> String.format("no active search index configured for %s", def.getName()));
     index.markReady(false);
     index.deleteAll();
 
diff --git a/java/com/google/gerrit/reviewdb/server/ReviewDbWrapper.java b/java/com/google/gerrit/reviewdb/server/ReviewDbWrapper.java
index f8e93ae..0deaa57 100644
--- a/java/com/google/gerrit/reviewdb/server/ReviewDbWrapper.java
+++ b/java/com/google/gerrit/reviewdb/server/ReviewDbWrapper.java
@@ -14,7 +14,7 @@
 
 package com.google.gerrit.reviewdb.server;
 
-import static com.google.common.base.Preconditions.checkNotNull;
+import static java.util.Objects.requireNonNull;
 
 import com.google.gerrit.reviewdb.client.Account;
 import com.google.gerrit.reviewdb.client.AccountGroup;
@@ -49,7 +49,7 @@
   private boolean inTransaction;
 
   protected ReviewDbWrapper(ReviewDb delegate) {
-    this.delegate = checkNotNull(delegate);
+    this.delegate = requireNonNull(delegate);
   }
 
   public ReviewDb unsafeGetDelegate() {
@@ -161,7 +161,7 @@
     protected final ChangeAccess delegate;
 
     protected ChangeAccessWrapper(ChangeAccess delegate) {
-      this.delegate = checkNotNull(delegate);
+      this.delegate = requireNonNull(delegate);
     }
 
     @Override
@@ -687,7 +687,7 @@
     protected final AccountGroupAccess delegate;
 
     protected AccountGroupAccessWrapper(AccountGroupAccess delegate) {
-      this.delegate = checkNotNull(delegate);
+      this.delegate = requireNonNull(delegate);
     }
 
     @Override
@@ -783,7 +783,7 @@
     protected final AccountGroupNameAccess delegate;
 
     protected AccountGroupNameAccessWrapper(AccountGroupNameAccess delegate) {
-      this.delegate = checkNotNull(delegate);
+      this.delegate = requireNonNull(delegate);
     }
 
     @Override
@@ -875,7 +875,7 @@
     protected final AccountGroupMemberAccess delegate;
 
     protected AccountGroupMemberAccessWrapper(AccountGroupMemberAccess delegate) {
-      this.delegate = checkNotNull(delegate);
+      this.delegate = requireNonNull(delegate);
     }
 
     @Override
@@ -973,7 +973,7 @@
     protected final AccountGroupMemberAuditAccess delegate;
 
     protected AccountGroupMemberAuditAccessWrapper(AccountGroupMemberAuditAccess delegate) {
-      this.delegate = checkNotNull(delegate);
+      this.delegate = requireNonNull(delegate);
     }
 
     @Override
@@ -1073,7 +1073,7 @@
     protected final AccountGroupByIdAccess delegate;
 
     protected AccountGroupByIdAccessWrapper(AccountGroupByIdAccess delegate) {
-      this.delegate = checkNotNull(delegate);
+      this.delegate = requireNonNull(delegate);
     }
 
     @Override
@@ -1175,7 +1175,7 @@
     protected final AccountGroupByIdAudAccess delegate;
 
     protected AccountGroupByIdAudAccessWrapper(AccountGroupByIdAudAccess delegate) {
-      this.delegate = checkNotNull(delegate);
+      this.delegate = requireNonNull(delegate);
     }
 
     @Override
diff --git a/java/com/google/gerrit/server/ApprovalCopier.java b/java/com/google/gerrit/server/ApprovalCopier.java
index 095263e..c3d3b60 100644
--- a/java/com/google/gerrit/server/ApprovalCopier.java
+++ b/java/com/google/gerrit/server/ApprovalCopier.java
@@ -15,7 +15,7 @@
 package com.google.gerrit.server;
 
 import static com.google.common.base.Preconditions.checkArgument;
-import static com.google.common.base.Preconditions.checkNotNull;
+import static java.util.Objects.requireNonNull;
 
 import com.google.common.collect.HashBasedTable;
 import com.google.common.collect.ListMultimap;
@@ -152,12 +152,12 @@
       @Nullable Config repoConfig,
       Iterable<PatchSetApproval> dontCopy)
       throws OrmException {
-    checkNotNull(ps, "ps should not be null");
+    requireNonNull(ps, "ps should not be null");
     ChangeData cd = changeDataFactory.create(db, notes);
     try {
       ProjectState project = projectCache.checkedGet(cd.change().getDest().getParentKey());
       ListMultimap<PatchSet.Id, PatchSetApproval> all = cd.approvals();
-      checkNotNull(all, "all should not be null");
+      requireNonNull(all, "all should not be null");
 
       Table<String, Account.Id, PatchSetApproval> wontCopy = HashBasedTable.create();
       for (PatchSetApproval psa : dontCopy) {
diff --git a/java/com/google/gerrit/server/ChangeMessagesUtil.java b/java/com/google/gerrit/server/ChangeMessagesUtil.java
index a6dbb53..969cf38 100644
--- a/java/com/google/gerrit/server/ChangeMessagesUtil.java
+++ b/java/com/google/gerrit/server/ChangeMessagesUtil.java
@@ -14,9 +14,9 @@
 
 package com.google.gerrit.server;
 
-import static com.google.common.base.Preconditions.checkNotNull;
 import static com.google.common.base.Preconditions.checkState;
 import static com.google.gerrit.reviewdb.server.ReviewDbUtil.unwrapDb;
+import static java.util.Objects.requireNonNull;
 
 import com.google.common.annotations.VisibleForTesting;
 import com.google.gerrit.common.Nullable;
@@ -82,7 +82,7 @@
 
   public static ChangeMessage newMessage(
       PatchSet.Id psId, CurrentUser user, Timestamp when, String body, @Nullable String tag) {
-    checkNotNull(psId);
+    requireNonNull(psId);
     Account.Id accountId = user.isInternalUser() ? null : user.getAccountId();
     ChangeMessage m =
         new ChangeMessage(
diff --git a/java/com/google/gerrit/server/CreateGroupPermissionSyncer.java b/java/com/google/gerrit/server/CreateGroupPermissionSyncer.java
index b7bc036..ee0138c 100644
--- a/java/com/google/gerrit/server/CreateGroupPermissionSyncer.java
+++ b/java/com/google/gerrit/server/CreateGroupPermissionSyncer.java
@@ -14,7 +14,7 @@
 
 package com.google.gerrit.server;
 
-import static com.google.common.base.Preconditions.checkNotNull;
+import static java.util.Objects.requireNonNull;
 import static java.util.stream.Collectors.toList;
 
 import com.google.common.collect.Sets;
@@ -77,9 +77,11 @@
    */
   public void syncIfNeeded() throws IOException, ConfigInvalidException {
     ProjectState allProjectsState = projectCache.checkedGet(allProjects);
-    checkNotNull(allProjectsState, "Can't obtain project state for " + allProjects);
+    requireNonNull(
+        allProjectsState, () -> String.format("Can't obtain project state for %s", allProjects));
     ProjectState allUsersState = projectCache.checkedGet(allUsers);
-    checkNotNull(allUsersState, "Can't obtain project state for " + allUsers);
+    requireNonNull(
+        allUsersState, () -> String.format("Can't obtain project state for %s", allUsers));
 
     Set<PermissionRule> createGroupsGlobal =
         new HashSet<>(allProjectsState.getCapabilityCollection().createGroup);
diff --git a/java/com/google/gerrit/server/PatchSetUtil.java b/java/com/google/gerrit/server/PatchSetUtil.java
index bf820dd..f6c7abc 100644
--- a/java/com/google/gerrit/server/PatchSetUtil.java
+++ b/java/com/google/gerrit/server/PatchSetUtil.java
@@ -15,10 +15,10 @@
 package com.google.gerrit.server;
 
 import static com.google.common.base.Preconditions.checkArgument;
-import static com.google.common.base.Preconditions.checkNotNull;
 import static com.google.common.collect.ImmutableMap.toImmutableMap;
 import static com.google.gerrit.server.ChangeUtil.PS_ID_ORDER;
 import static com.google.gerrit.server.notedb.PatchSetState.PUBLISHED;
+import static java.util.Objects.requireNonNull;
 import static java.util.function.Function.identity;
 
 import com.google.common.collect.ImmutableCollection;
@@ -130,7 +130,7 @@
       String pushCertificate,
       String description)
       throws OrmException, IOException {
-    checkNotNull(groups, "groups may not be null");
+    requireNonNull(groups, "groups may not be null");
     ensurePatchSetMatches(psId, update);
 
     PatchSet ps = new PatchSet(psId);
@@ -197,7 +197,8 @@
     }
 
     ProjectState projectState = projectCache.checkedGet(notes.getProjectName());
-    checkNotNull(projectState, "Failed to load project %s", notes.getProjectName());
+    requireNonNull(
+        projectState, () -> String.format("Failed to load project %s", notes.getProjectName()));
 
     ApprovalsUtil approvalsUtil = approvalsUtilProvider.get();
     for (PatchSetApproval ap :
diff --git a/java/com/google/gerrit/server/StarredChangesUtil.java b/java/com/google/gerrit/server/StarredChangesUtil.java
index 29974e9..8fa5faf 100644
--- a/java/com/google/gerrit/server/StarredChangesUtil.java
+++ b/java/com/google/gerrit/server/StarredChangesUtil.java
@@ -14,8 +14,8 @@
 
 package com.google.gerrit.server;
 
-import static com.google.common.base.Preconditions.checkNotNull;
 import static java.nio.charset.StandardCharsets.UTF_8;
+import static java.util.Objects.requireNonNull;
 import static java.util.stream.Collectors.joining;
 import static java.util.stream.Collectors.toSet;
 
@@ -117,7 +117,7 @@
 
     private static StarRef create(Ref ref, Iterable<String> labels) {
       return new AutoValue_StarredChangesUtil_StarRef(
-          checkNotNull(ref), ImmutableSortedSet.copyOf(labels));
+          requireNonNull(ref), ImmutableSortedSet.copyOf(labels));
     }
 
     @Nullable
diff --git a/java/com/google/gerrit/server/account/AccountConfig.java b/java/com/google/gerrit/server/account/AccountConfig.java
index 5cd18e3..d58036d 100644
--- a/java/com/google/gerrit/server/account/AccountConfig.java
+++ b/java/com/google/gerrit/server/account/AccountConfig.java
@@ -14,8 +14,8 @@
 
 package com.google.gerrit.server.account;
 
-import static com.google.common.base.Preconditions.checkNotNull;
 import static com.google.common.base.Preconditions.checkState;
+import static java.util.Objects.requireNonNull;
 
 import com.google.common.base.Strings;
 import com.google.common.collect.ImmutableList;
@@ -90,9 +90,9 @@
   private List<ValidationError> validationErrors;
 
   public AccountConfig(Account.Id accountId, AllUsersName allUsersName, Repository allUsersRepo) {
-    this.accountId = checkNotNull(accountId, "accountId");
-    this.allUsersName = checkNotNull(allUsersName, "allUsersName");
-    this.repo = checkNotNull(allUsersRepo, "allUsersRepo");
+    this.accountId = requireNonNull(accountId, "accountId");
+    this.allUsersName = requireNonNull(allUsersName, "allUsersName");
+    this.repo = requireNonNull(allUsersRepo, "allUsersRepo");
     this.ref = RefNames.refsUsers(accountId);
   }
 
diff --git a/java/com/google/gerrit/server/account/AccountsUpdate.java b/java/com/google/gerrit/server/account/AccountsUpdate.java
index fe944ae..1445dfd 100644
--- a/java/com/google/gerrit/server/account/AccountsUpdate.java
+++ b/java/com/google/gerrit/server/account/AccountsUpdate.java
@@ -14,8 +14,8 @@
 
 package com.google.gerrit.server.account;
 
-import static com.google.common.base.Preconditions.checkNotNull;
 import static com.google.common.base.Preconditions.checkState;
+import static java.util.Objects.requireNonNull;
 import static java.util.stream.Collectors.toSet;
 
 import com.google.common.annotations.VisibleForTesting;
@@ -230,19 +230,19 @@
       PersonIdent authorIdent,
       Runnable afterReadRevision,
       Runnable beforeCommit) {
-    this.repoManager = checkNotNull(repoManager, "repoManager");
-    this.gitRefUpdated = checkNotNull(gitRefUpdated, "gitRefUpdated");
+    this.repoManager = requireNonNull(repoManager, "repoManager");
+    this.gitRefUpdated = requireNonNull(gitRefUpdated, "gitRefUpdated");
     this.currentUser = currentUser;
-    this.allUsersName = checkNotNull(allUsersName, "allUsersName");
-    this.externalIds = checkNotNull(externalIds, "externalIds");
+    this.allUsersName = requireNonNull(allUsersName, "allUsersName");
+    this.externalIds = requireNonNull(externalIds, "externalIds");
     this.metaDataUpdateInternalFactory =
-        checkNotNull(metaDataUpdateInternalFactory, "metaDataUpdateInternalFactory");
-    this.retryHelper = checkNotNull(retryHelper, "retryHelper");
-    this.extIdNotesLoader = checkNotNull(extIdNotesLoader, "extIdNotesLoader");
-    this.committerIdent = checkNotNull(committerIdent, "committerIdent");
-    this.authorIdent = checkNotNull(authorIdent, "authorIdent");
-    this.afterReadRevision = checkNotNull(afterReadRevision, "afterReadRevision");
-    this.beforeCommit = checkNotNull(beforeCommit, "beforeCommit");
+        requireNonNull(metaDataUpdateInternalFactory, "metaDataUpdateInternalFactory");
+    this.retryHelper = requireNonNull(retryHelper, "retryHelper");
+    this.extIdNotesLoader = requireNonNull(extIdNotesLoader, "extIdNotesLoader");
+    this.committerIdent = requireNonNull(committerIdent, "committerIdent");
+    this.authorIdent = requireNonNull(authorIdent, "authorIdent");
+    this.afterReadRevision = requireNonNull(afterReadRevision, "afterReadRevision");
+    this.beforeCommit = requireNonNull(beforeCommit, "beforeCommit");
   }
 
   private static PersonIdent createPersonIdent(
@@ -551,11 +551,11 @@
         AccountConfig accountConfig,
         ExternalIdNotes extIdNotes) {
       checkState(!Strings.isNullOrEmpty(message), "message for account update must be set");
-      this.allUsersName = checkNotNull(allUsersName);
-      this.externalIds = checkNotNull(externalIds);
-      this.message = checkNotNull(message);
-      this.accountConfig = checkNotNull(accountConfig);
-      this.extIdNotes = checkNotNull(extIdNotes);
+      this.allUsersName = requireNonNull(allUsersName);
+      this.externalIds = requireNonNull(externalIds);
+      this.message = requireNonNull(message);
+      this.accountConfig = requireNonNull(accountConfig);
+      this.extIdNotes = requireNonNull(extIdNotes);
     }
 
     public String getMessage() {
diff --git a/java/com/google/gerrit/server/account/Preferences.java b/java/com/google/gerrit/server/account/Preferences.java
index 5bf6e26..6767b85 100644
--- a/java/com/google/gerrit/server/account/Preferences.java
+++ b/java/com/google/gerrit/server/account/Preferences.java
@@ -14,7 +14,6 @@
 
 package com.google.gerrit.server.account;
 
-import static com.google.common.base.Preconditions.checkNotNull;
 import static com.google.common.base.Preconditions.checkState;
 import static com.google.gerrit.server.config.ConfigUtil.loadSection;
 import static com.google.gerrit.server.config.ConfigUtil.skipField;
@@ -27,6 +26,7 @@
 import static com.google.gerrit.server.git.UserConfigSections.KEY_TOKEN;
 import static com.google.gerrit.server.git.UserConfigSections.KEY_URL;
 import static com.google.gerrit.server.git.UserConfigSections.URL_ALIAS;
+import static java.util.Objects.requireNonNull;
 
 import com.google.common.base.Strings;
 import com.google.common.collect.Lists;
@@ -104,10 +104,10 @@
       Config cfg,
       Config defaultCfg,
       ValidationError.Sink validationErrorSink) {
-    this.accountId = checkNotNull(accountId, "accountId");
-    this.cfg = checkNotNull(cfg, "cfg");
-    this.defaultCfg = checkNotNull(defaultCfg, "defaultCfg");
-    this.validationErrorSink = checkNotNull(validationErrorSink, "validationErrorSink");
+    this.accountId = requireNonNull(accountId, "accountId");
+    this.cfg = requireNonNull(cfg, "cfg");
+    this.defaultCfg = requireNonNull(defaultCfg, "defaultCfg");
+    this.validationErrorSink = requireNonNull(validationErrorSink, "validationErrorSink");
   }
 
   public GeneralPreferencesInfo getGeneralPreferences() {
diff --git a/java/com/google/gerrit/server/account/ProjectWatches.java b/java/com/google/gerrit/server/account/ProjectWatches.java
index edecb18..cc913e5 100644
--- a/java/com/google/gerrit/server/account/ProjectWatches.java
+++ b/java/com/google/gerrit/server/account/ProjectWatches.java
@@ -15,7 +15,7 @@
 package com.google.gerrit.server.account;
 
 import static com.google.common.base.MoreObjects.firstNonNull;
-import static com.google.common.base.Preconditions.checkNotNull;
+import static java.util.Objects.requireNonNull;
 
 import com.google.auto.value.AutoValue;
 import com.google.common.annotations.VisibleForTesting;
@@ -112,9 +112,9 @@
   private ImmutableMap<ProjectWatchKey, ImmutableSet<NotifyType>> projectWatches;
 
   ProjectWatches(Account.Id accountId, Config cfg, ValidationError.Sink validationErrorSink) {
-    this.accountId = checkNotNull(accountId, "accountId");
-    this.cfg = checkNotNull(cfg, "cfg");
-    this.validationErrorSink = checkNotNull(validationErrorSink, "validationErrorSink");
+    this.accountId = requireNonNull(accountId, "accountId");
+    this.cfg = requireNonNull(cfg, "cfg");
+    this.validationErrorSink = requireNonNull(validationErrorSink, "validationErrorSink");
   }
 
   public ImmutableMap<ProjectWatchKey, ImmutableSet<NotifyType>> getProjectWatches() {
diff --git a/java/com/google/gerrit/server/account/externalids/ExternalId.java b/java/com/google/gerrit/server/account/externalids/ExternalId.java
index 96ea0cc..22a6ee4 100644
--- a/java/com/google/gerrit/server/account/externalids/ExternalId.java
+++ b/java/com/google/gerrit/server/account/externalids/ExternalId.java
@@ -14,10 +14,10 @@
 
 package com.google.gerrit.server.account.externalids;
 
-import static com.google.common.base.Preconditions.checkNotNull;
 import static com.google.common.base.Preconditions.checkState;
 import static com.google.common.collect.ImmutableSet.toImmutableSet;
 import static java.nio.charset.StandardCharsets.UTF_8;
+import static java.util.Objects.requireNonNull;
 
 import com.google.auto.value.AutoValue;
 import com.google.common.annotations.VisibleForTesting;
@@ -284,7 +284,7 @@
   }
 
   public static ExternalId createEmail(Account.Id accountId, String email) {
-    return createWithEmail(SCHEME_MAILTO, email, accountId, checkNotNull(email));
+    return createWithEmail(SCHEME_MAILTO, email, accountId, requireNonNull(email));
   }
 
   static ExternalId create(ExternalId extId, @Nullable ObjectId blobId) {
@@ -331,7 +331,7 @@
 
   public static ExternalId parse(String noteId, Config externalIdConfig, ObjectId blobId)
       throws ConfigInvalidException {
-    checkNotNull(blobId);
+    requireNonNull(blobId);
 
     Set<String> externalIdKeys = externalIdConfig.getSubsections(EXTERNAL_ID_SECTION);
     if (externalIdKeys.size() != 1) {
diff --git a/java/com/google/gerrit/server/account/externalids/ExternalIdNotes.java b/java/com/google/gerrit/server/account/externalids/ExternalIdNotes.java
index 9dd9bd8..5acf63c 100644
--- a/java/com/google/gerrit/server/account/externalids/ExternalIdNotes.java
+++ b/java/com/google/gerrit/server/account/externalids/ExternalIdNotes.java
@@ -14,9 +14,9 @@
 
 package com.google.gerrit.server.account.externalids;
 
-import static com.google.common.base.Preconditions.checkNotNull;
 import static com.google.common.base.Preconditions.checkState;
 import static java.nio.charset.StandardCharsets.UTF_8;
+import static java.util.Objects.requireNonNull;
 import static java.util.stream.Collectors.joining;
 import static java.util.stream.Collectors.toSet;
 import static org.eclipse.jgit.lib.Constants.OBJ_BLOB;
@@ -284,15 +284,15 @@
       MetricMaker metricMaker,
       AllUsersName allUsersName,
       Repository allUsersRepo) {
-    this.externalIdCache = checkNotNull(externalIdCache, "externalIdCache");
+    this.externalIdCache = requireNonNull(externalIdCache, "externalIdCache");
     this.accountCache = accountCache;
     this.accountIndexer = accountIndexer;
     this.updateCount =
         metricMaker.newCounter(
             "notedb/external_id_update_count",
             new Description("Total number of external ID updates.").setRate().setUnit("updates"));
-    this.allUsersName = checkNotNull(allUsersName, "allUsersRepo");
-    this.repo = checkNotNull(allUsersRepo, "allUsersRepo");
+    this.allUsersName = requireNonNull(allUsersName, "allUsersRepo");
+    this.repo = requireNonNull(allUsersRepo, "allUsersRepo");
   }
 
   public ExternalIdNotes setAfterReadRevision(Runnable afterReadRevision) {
diff --git a/java/com/google/gerrit/server/api/accounts/AccountsImpl.java b/java/com/google/gerrit/server/api/accounts/AccountsImpl.java
index ca5aca4..5a30113 100644
--- a/java/com/google/gerrit/server/api/accounts/AccountsImpl.java
+++ b/java/com/google/gerrit/server/api/accounts/AccountsImpl.java
@@ -14,8 +14,8 @@
 
 package com.google.gerrit.server.api.accounts;
 
-import static com.google.common.base.Preconditions.checkNotNull;
 import static com.google.gerrit.server.api.ApiUtil.asRestApiException;
+import static java.util.Objects.requireNonNull;
 
 import com.google.gerrit.extensions.api.accounts.AccountApi;
 import com.google.gerrit.extensions.api.accounts.AccountInput;
@@ -95,7 +95,7 @@
 
   @Override
   public AccountApi create(AccountInput in) throws RestApiException {
-    if (checkNotNull(in, "AccountInput").username == null) {
+    if (requireNonNull(in, "AccountInput").username == null) {
       throw new BadRequestException("AccountInput must specify username");
     }
     try {
diff --git a/java/com/google/gerrit/server/api/changes/ChangesImpl.java b/java/com/google/gerrit/server/api/changes/ChangesImpl.java
index cefabf4..2f19040 100644
--- a/java/com/google/gerrit/server/api/changes/ChangesImpl.java
+++ b/java/com/google/gerrit/server/api/changes/ChangesImpl.java
@@ -14,9 +14,9 @@
 
 package com.google.gerrit.server.api.changes;
 
-import static com.google.common.base.Preconditions.checkNotNull;
 import static com.google.common.base.Preconditions.checkState;
 import static com.google.gerrit.server.api.ApiUtil.asRestApiException;
+import static java.util.Objects.requireNonNull;
 
 import com.google.common.base.Joiner;
 import com.google.common.collect.ImmutableList;
@@ -128,7 +128,7 @@
 
       // Check type safety of result; the extension API should be safer than the
       // REST API in this case, since it's intended to be used in Java.
-      Object first = checkNotNull(result.iterator().next());
+      Object first = requireNonNull(result.iterator().next());
       checkState(first instanceof ChangeInfo);
       @SuppressWarnings("unchecked")
       List<ChangeInfo> infos = (List<ChangeInfo>) result;
diff --git a/java/com/google/gerrit/server/api/groups/GroupsImpl.java b/java/com/google/gerrit/server/api/groups/GroupsImpl.java
index 1fdeac1..e8d6cf4 100644
--- a/java/com/google/gerrit/server/api/groups/GroupsImpl.java
+++ b/java/com/google/gerrit/server/api/groups/GroupsImpl.java
@@ -14,8 +14,8 @@
 
 package com.google.gerrit.server.api.groups;
 
-import static com.google.common.base.Preconditions.checkNotNull;
 import static com.google.gerrit.server.api.ApiUtil.asRestApiException;
+import static java.util.Objects.requireNonNull;
 
 import com.google.gerrit.extensions.api.groups.GroupApi;
 import com.google.gerrit.extensions.api.groups.GroupInput;
@@ -90,7 +90,7 @@
 
   @Override
   public GroupApi create(GroupInput in) throws RestApiException {
-    if (checkNotNull(in, "GroupInput").name == null) {
+    if (requireNonNull(in, "GroupInput").name == null) {
       throw new BadRequestException("GroupInput must specify name");
     }
     try {
diff --git a/java/com/google/gerrit/server/audit/AuditEvent.java b/java/com/google/gerrit/server/audit/AuditEvent.java
index ff4f72b..46b2844 100644
--- a/java/com/google/gerrit/server/audit/AuditEvent.java
+++ b/java/com/google/gerrit/server/audit/AuditEvent.java
@@ -14,9 +14,10 @@
 
 package com.google.gerrit.server.audit;
 
+import static java.util.Objects.requireNonNull;
+
 import com.google.auto.value.AutoValue;
 import com.google.common.base.MoreObjects;
-import com.google.common.base.Preconditions;
 import com.google.common.collect.ImmutableListMultimap;
 import com.google.common.collect.ListMultimap;
 import com.google.gerrit.server.CurrentUser;
@@ -64,7 +65,7 @@
       long when,
       ListMultimap<String, ?> params,
       Object result) {
-    Preconditions.checkNotNull(what, "what is a mandatory not null param !");
+    requireNonNull(what, "what is a mandatory not null param !");
 
     this.sessionId = MoreObjects.firstNonNull(sessionId, UNKNOWN_SESSION_ID);
     this.who = who;
diff --git a/java/com/google/gerrit/server/audit/ExtendedHttpAuditEvent.java b/java/com/google/gerrit/server/audit/ExtendedHttpAuditEvent.java
index 29629f0..c981ba7 100644
--- a/java/com/google/gerrit/server/audit/ExtendedHttpAuditEvent.java
+++ b/java/com/google/gerrit/server/audit/ExtendedHttpAuditEvent.java
@@ -14,7 +14,8 @@
 
 package com.google.gerrit.server.audit;
 
-import com.google.common.base.Preconditions;
+import static java.util.Objects.requireNonNull;
+
 import com.google.common.collect.ListMultimap;
 import com.google.gerrit.extensions.restapi.RestResource;
 import com.google.gerrit.extensions.restapi.RestView;
@@ -62,7 +63,7 @@
         input,
         status,
         result);
-    this.httpRequest = Preconditions.checkNotNull(httpRequest);
+    this.httpRequest = requireNonNull(httpRequest);
     this.resource = resource;
     this.view = view;
   }
diff --git a/java/com/google/gerrit/server/auth/AuthUser.java b/java/com/google/gerrit/server/auth/AuthUser.java
index 71f29a4..987f086 100644
--- a/java/com/google/gerrit/server/auth/AuthUser.java
+++ b/java/com/google/gerrit/server/auth/AuthUser.java
@@ -14,7 +14,7 @@
 
 package com.google.gerrit.server.auth;
 
-import static com.google.common.base.Preconditions.checkNotNull;
+import static java.util.Objects.requireNonNull;
 
 import com.google.auto.value.AutoValue;
 import com.google.gerrit.common.Nullable;
@@ -48,7 +48,7 @@
    * @param username the name of the authenticated user.
    */
   public AuthUser(UUID uuid, @Nullable String username) {
-    this.uuid = checkNotNull(uuid);
+    this.uuid = requireNonNull(uuid);
     this.username = username;
   }
 
diff --git a/java/com/google/gerrit/server/auth/UniversalAuthBackend.java b/java/com/google/gerrit/server/auth/UniversalAuthBackend.java
index af9c51b..94faeef 100644
--- a/java/com/google/gerrit/server/auth/UniversalAuthBackend.java
+++ b/java/com/google/gerrit/server/auth/UniversalAuthBackend.java
@@ -14,7 +14,7 @@
 
 package com.google.gerrit.server.auth;
 
-import static com.google.common.base.Preconditions.checkNotNull;
+import static java.util.Objects.requireNonNull;
 
 import com.google.gerrit.extensions.registration.DynamicSet;
 import com.google.inject.Inject;
@@ -38,7 +38,7 @@
     List<AuthException> authExs = new ArrayList<>();
     for (AuthBackend backend : authBackends) {
       try {
-        authUsers.add(checkNotNull(backend.authenticate(request)));
+        authUsers.add(requireNonNull(backend.authenticate(request)));
       } catch (MissingCredentialsException ex) {
         // Not handled by this backend.
       } catch (AuthException ex) {
diff --git a/java/com/google/gerrit/server/auth/oauth/OAuthTokenCache.java b/java/com/google/gerrit/server/auth/oauth/OAuthTokenCache.java
index 4c364c5..3a6be0c 100644
--- a/java/com/google/gerrit/server/auth/oauth/OAuthTokenCache.java
+++ b/java/com/google/gerrit/server/auth/oauth/OAuthTokenCache.java
@@ -14,7 +14,7 @@
 
 package com.google.gerrit.server.auth.oauth;
 
-import static com.google.common.base.Preconditions.checkNotNull;
+import static java.util.Objects.requireNonNull;
 
 import com.google.common.annotations.VisibleForTesting;
 import com.google.common.base.Strings;
@@ -103,7 +103,7 @@
   }
 
   public void put(Account.Id id, OAuthToken accessToken) {
-    cache.put(id, encrypt(checkNotNull(accessToken)));
+    cache.put(id, encrypt(requireNonNull(accessToken)));
   }
 
   public void remove(Account.Id id) {
diff --git a/java/com/google/gerrit/server/cache/CacheProvider.java b/java/com/google/gerrit/server/cache/CacheProvider.java
index 2bd570e..b1a9b91 100644
--- a/java/com/google/gerrit/server/cache/CacheProvider.java
+++ b/java/com/google/gerrit/server/cache/CacheProvider.java
@@ -14,8 +14,8 @@
 
 package com.google.gerrit.server.cache;
 
-import static com.google.common.base.Preconditions.checkNotNull;
 import static com.google.common.base.Preconditions.checkState;
+import static java.util.Objects.requireNonNull;
 
 import com.google.common.base.Strings;
 import com.google.common.cache.Cache;
@@ -99,7 +99,7 @@
   @Override
   public CacheBinding<K, V> configKey(String name) {
     checkNotFrozen();
-    configKey = checkNotNull(name);
+    configKey = requireNonNull(name);
     return this;
   }
 
diff --git a/java/com/google/gerrit/server/cache/serialize/BooleanCacheSerializer.java b/java/com/google/gerrit/server/cache/serialize/BooleanCacheSerializer.java
index 28cd6eb..50fcf0c 100644
--- a/java/com/google/gerrit/server/cache/serialize/BooleanCacheSerializer.java
+++ b/java/com/google/gerrit/server/cache/serialize/BooleanCacheSerializer.java
@@ -14,8 +14,8 @@
 
 package com.google.gerrit.server.cache.serialize;
 
-import static com.google.common.base.Preconditions.checkNotNull;
 import static java.nio.charset.StandardCharsets.UTF_8;
+import static java.util.Objects.requireNonNull;
 
 import com.google.protobuf.TextFormat;
 import java.util.Arrays;
@@ -28,7 +28,7 @@
 
   @Override
   public byte[] serialize(Boolean object) {
-    byte[] bytes = checkNotNull(object) ? TRUE : FALSE;
+    byte[] bytes = requireNonNull(object) ? TRUE : FALSE;
     return Arrays.copyOf(bytes, bytes.length);
   }
 
diff --git a/java/com/google/gerrit/server/cache/serialize/EnumCacheSerializer.java b/java/com/google/gerrit/server/cache/serialize/EnumCacheSerializer.java
index 7856e55..ecb4963 100644
--- a/java/com/google/gerrit/server/cache/serialize/EnumCacheSerializer.java
+++ b/java/com/google/gerrit/server/cache/serialize/EnumCacheSerializer.java
@@ -14,8 +14,8 @@
 
 package com.google.gerrit.server.cache.serialize;
 
-import static com.google.common.base.Preconditions.checkNotNull;
 import static java.nio.charset.StandardCharsets.UTF_8;
+import static java.util.Objects.requireNonNull;
 
 import com.google.common.base.Converter;
 import com.google.common.base.Enums;
@@ -29,11 +29,11 @@
 
   @Override
   public byte[] serialize(E object) {
-    return converter.reverse().convert(checkNotNull(object)).getBytes(UTF_8);
+    return converter.reverse().convert(requireNonNull(object)).getBytes(UTF_8);
   }
 
   @Override
   public E deserialize(byte[] in) {
-    return converter.convert(new String(checkNotNull(in), UTF_8));
+    return converter.convert(new String(requireNonNull(in), UTF_8));
   }
 }
diff --git a/java/com/google/gerrit/server/cache/serialize/IntKeyCacheSerializer.java b/java/com/google/gerrit/server/cache/serialize/IntKeyCacheSerializer.java
index cff8682..85530f4 100644
--- a/java/com/google/gerrit/server/cache/serialize/IntKeyCacheSerializer.java
+++ b/java/com/google/gerrit/server/cache/serialize/IntKeyCacheSerializer.java
@@ -14,7 +14,7 @@
 
 package com.google.gerrit.server.cache.serialize;
 
-import static com.google.common.base.Preconditions.checkNotNull;
+import static java.util.Objects.requireNonNull;
 
 import com.google.gwtorm.client.IntKey;
 import java.util.function.Function;
@@ -23,7 +23,7 @@
   private final Function<Integer, K> factory;
 
   public IntKeyCacheSerializer(Function<Integer, K> factory) {
-    this.factory = checkNotNull(factory);
+    this.factory = requireNonNull(factory);
   }
 
   @Override
diff --git a/java/com/google/gerrit/server/cache/serialize/IntegerCacheSerializer.java b/java/com/google/gerrit/server/cache/serialize/IntegerCacheSerializer.java
index 3195941..4494454 100644
--- a/java/com/google/gerrit/server/cache/serialize/IntegerCacheSerializer.java
+++ b/java/com/google/gerrit/server/cache/serialize/IntegerCacheSerializer.java
@@ -14,7 +14,7 @@
 
 package com.google.gerrit.server.cache.serialize;
 
-import static com.google.common.base.Preconditions.checkNotNull;
+import static java.util.Objects.requireNonNull;
 
 import com.google.protobuf.CodedInputStream;
 import com.google.protobuf.CodedOutputStream;
@@ -34,7 +34,7 @@
     byte[] buf = new byte[MAX_VARINT_SIZE];
     CodedOutputStream cout = CodedOutputStream.newInstance(buf);
     try {
-      cout.writeInt32NoTag(checkNotNull(object));
+      cout.writeInt32NoTag(requireNonNull(object));
       cout.flush();
     } catch (IOException e) {
       throw new IllegalStateException("Failed to serialize int");
@@ -45,7 +45,7 @@
 
   @Override
   public Integer deserialize(byte[] in) {
-    CodedInputStream cin = CodedInputStream.newInstance(checkNotNull(in));
+    CodedInputStream cin = CodedInputStream.newInstance(requireNonNull(in));
     int ret;
     try {
       ret = cin.readRawVarint32();
diff --git a/java/com/google/gerrit/server/change/ActionJson.java b/java/com/google/gerrit/server/change/ActionJson.java
index fbabdd5..a9ad3b3 100644
--- a/java/com/google/gerrit/server/change/ActionJson.java
+++ b/java/com/google/gerrit/server/change/ActionJson.java
@@ -14,7 +14,7 @@
 
 package com.google.gerrit.server.change;
 
-import static com.google.common.base.Preconditions.checkNotNull;
+import static java.util.Objects.requireNonNull;
 
 import com.google.common.collect.ImmutableMap;
 import com.google.common.collect.Iterables;
@@ -77,7 +77,7 @@
     List<ActionVisitor> visitors = visitors();
     if (!visitors.isEmpty()) {
       changeInfo = changeJson().format(rsrc);
-      revisionInfo = checkNotNull(Iterables.getOnlyElement(changeInfo.revisions.values()));
+      revisionInfo = requireNonNull(Iterables.getOnlyElement(changeInfo.revisions.values()));
       changeInfo.revisions = null;
     }
     return toActionMap(rsrc, visitors, changeInfo, revisionInfo);
diff --git a/java/com/google/gerrit/server/change/AddReviewersOp.java b/java/com/google/gerrit/server/change/AddReviewersOp.java
index 2ed0f20..947dead 100644
--- a/java/com/google/gerrit/server/change/AddReviewersOp.java
+++ b/java/com/google/gerrit/server/change/AddReviewersOp.java
@@ -15,11 +15,11 @@
 package com.google.gerrit.server.change;
 
 import static com.google.common.base.Preconditions.checkArgument;
-import static com.google.common.base.Preconditions.checkNotNull;
 import static com.google.common.base.Preconditions.checkState;
 import static com.google.common.collect.ImmutableList.toImmutableList;
 import static com.google.gerrit.extensions.client.ReviewerState.CC;
 import static com.google.gerrit.extensions.client.ReviewerState.REVIEWER;
+import static java.util.Objects.requireNonNull;
 import static java.util.stream.Collectors.toList;
 
 import com.google.auto.value.AutoValue;
@@ -165,7 +165,7 @@
   }
 
   void setPatchSet(PatchSet patchSet) {
-    this.patchSet = checkNotNull(patchSet);
+    this.patchSet = requireNonNull(patchSet);
   }
 
   @Override
@@ -213,7 +213,7 @@
     checkAdded();
 
     if (patchSet == null) {
-      patchSet = checkNotNull(psUtil.current(ctx.getDb(), ctx.getNotes()));
+      patchSet = requireNonNull(psUtil.current(ctx.getDb(), ctx.getNotes()));
     }
     return true;
   }
diff --git a/java/com/google/gerrit/server/change/ChangeInserter.java b/java/com/google/gerrit/server/change/ChangeInserter.java
index 831d388..33c7f73 100644
--- a/java/com/google/gerrit/server/change/ChangeInserter.java
+++ b/java/com/google/gerrit/server/change/ChangeInserter.java
@@ -14,13 +14,13 @@
 
 package com.google.gerrit.server.change;
 
-import static com.google.common.base.Preconditions.checkNotNull;
 import static com.google.common.base.Preconditions.checkState;
 import static com.google.common.collect.ImmutableList.toImmutableList;
 import static com.google.common.collect.ImmutableSet.toImmutableSet;
 import static com.google.gerrit.reviewdb.client.Change.INITIAL_PATCH_SET_ID;
 import static com.google.gerrit.server.change.ReviewerAdder.newAddReviewerInputFromCommitIdentity;
 import static com.google.gerrit.server.notedb.ReviewerStateInternal.REVIEWER;
+import static java.util.Objects.requireNonNull;
 
 import com.google.common.base.MoreObjects;
 import com.google.common.collect.ImmutableList;
@@ -263,7 +263,7 @@
 
   public ChangeInserter setAccountsToNotify(
       ListMultimap<RecipientType, Account.Id> accountsToNotify) {
-    this.accountsToNotify = checkNotNull(accountsToNotify);
+    this.accountsToNotify = requireNonNull(accountsToNotify);
     return this;
   }
 
@@ -304,7 +304,7 @@
   }
 
   public ChangeInserter setGroups(List<String> groups) {
-    checkNotNull(groups, "groups may not be empty");
+    requireNonNull(groups, "groups may not be empty");
     checkState(patchSet == null, "setGroups(Iterable<String>) only valid before creating change");
     this.groups = groups;
     return this;
diff --git a/java/com/google/gerrit/server/change/ConsistencyChecker.java b/java/com/google/gerrit/server/change/ConsistencyChecker.java
index 238598c..a379f2c 100644
--- a/java/com/google/gerrit/server/change/ConsistencyChecker.java
+++ b/java/com/google/gerrit/server/change/ConsistencyChecker.java
@@ -15,10 +15,10 @@
 package com.google.gerrit.server.change;
 
 import static com.google.common.base.Preconditions.checkArgument;
-import static com.google.common.base.Preconditions.checkNotNull;
 import static com.google.gerrit.reviewdb.client.RefNames.REFS_CHANGES;
 import static com.google.gerrit.reviewdb.server.ReviewDbUtil.intKeyOrdering;
 import static com.google.gerrit.server.ChangeUtil.PS_ID_ORDER;
+import static java.util.Objects.requireNonNull;
 
 import com.google.auto.value.AutoValue;
 import com.google.common.collect.Collections2;
@@ -171,7 +171,7 @@
   }
 
   public Result check(ChangeNotes notes, @Nullable FixInput f) {
-    checkNotNull(notes);
+    requireNonNull(notes);
     try {
       return retryHelper.execute(
           buf -> {
@@ -530,7 +530,7 @@
           if (!reuseOldPsId) {
             bu.addOp(
                 notes.getChangeId(),
-                new DeletePatchSetFromDbOp(checkNotNull(deleteOldPatchSetProblem), psIdToDelete));
+                new DeletePatchSetFromDbOp(requireNonNull(deleteOldPatchSetProblem), psIdToDelete));
           }
         }
 
@@ -759,7 +759,7 @@
 
   private ProblemInfo problem(String msg) {
     ProblemInfo p = new ProblemInfo();
-    p.message = checkNotNull(msg);
+    p.message = requireNonNull(msg);
     problems.add(p);
     return p;
   }
diff --git a/java/com/google/gerrit/server/change/MergeabilityCacheImpl.java b/java/com/google/gerrit/server/change/MergeabilityCacheImpl.java
index 2d00886..131f3a1 100644
--- a/java/com/google/gerrit/server/change/MergeabilityCacheImpl.java
+++ b/java/com/google/gerrit/server/change/MergeabilityCacheImpl.java
@@ -15,7 +15,7 @@
 package com.google.gerrit.server.change;
 
 import static com.google.common.base.Preconditions.checkArgument;
-import static com.google.common.base.Preconditions.checkNotNull;
+import static java.util.Objects.requireNonNull;
 
 import com.google.common.base.Converter;
 import com.google.common.base.Enums;
@@ -85,10 +85,10 @@
           "Cannot cache %s.%s",
           SubmitType.class.getSimpleName(),
           submitType);
-      this.commit = checkNotNull(commit, "commit");
-      this.into = checkNotNull(into, "into");
-      this.submitType = checkNotNull(submitType, "submitType");
-      this.mergeStrategy = checkNotNull(mergeStrategy, "mergeStrategy");
+      this.commit = requireNonNull(commit, "commit");
+      this.into = requireNonNull(into, "into");
+      this.submitType = requireNonNull(submitType, "submitType");
+      this.mergeStrategy = requireNonNull(mergeStrategy, "mergeStrategy");
     }
 
     public ObjectId getCommit() {
diff --git a/java/com/google/gerrit/server/change/PatchSetInserter.java b/java/com/google/gerrit/server/change/PatchSetInserter.java
index 8bd6c17..24c4237 100644
--- a/java/com/google/gerrit/server/change/PatchSetInserter.java
+++ b/java/com/google/gerrit/server/change/PatchSetInserter.java
@@ -14,12 +14,11 @@
 
 package com.google.gerrit.server.change;
 
-import static com.google.common.base.Preconditions.checkNotNull;
 import static com.google.common.base.Preconditions.checkState;
 import static com.google.gerrit.server.notedb.ReviewerStateInternal.CC;
 import static com.google.gerrit.server.notedb.ReviewerStateInternal.REVIEWER;
+import static java.util.Objects.requireNonNull;
 
-import com.google.common.base.Preconditions;
 import com.google.common.collect.ImmutableListMultimap;
 import com.google.common.collect.ListMultimap;
 import com.google.common.flogger.FluentLogger;
@@ -167,7 +166,7 @@
   }
 
   public PatchSetInserter setGroups(List<String> groups) {
-    checkNotNull(groups, "groups may not be null");
+    requireNonNull(groups, "groups may not be null");
     this.groups = groups;
     return this;
   }
@@ -178,13 +177,13 @@
   }
 
   public PatchSetInserter setNotify(NotifyHandling notify) {
-    this.notify = Preconditions.checkNotNull(notify);
+    this.notify = requireNonNull(notify);
     return this;
   }
 
   public PatchSetInserter setAccountsToNotify(
       ListMultimap<RecipientType, Account.Id> accountsToNotify) {
-    this.accountsToNotify = checkNotNull(accountsToNotify);
+    this.accountsToNotify = requireNonNull(accountsToNotify);
     return this;
   }
 
diff --git a/java/com/google/gerrit/server/change/ReviewerAdder.java b/java/com/google/gerrit/server/change/ReviewerAdder.java
index 441a7d4..adbfe54 100644
--- a/java/com/google/gerrit/server/change/ReviewerAdder.java
+++ b/java/com/google/gerrit/server/change/ReviewerAdder.java
@@ -15,13 +15,13 @@
 package com.google.gerrit.server.change;
 
 import static com.google.common.base.Preconditions.checkArgument;
-import static com.google.common.base.Preconditions.checkNotNull;
 import static com.google.common.base.Preconditions.checkState;
 import static com.google.common.collect.ImmutableList.toImmutableList;
 import static com.google.common.collect.ImmutableSet.toImmutableSet;
 import static com.google.gerrit.extensions.client.ReviewerState.CC;
 import static com.google.gerrit.extensions.client.ReviewerState.REVIEWER;
 import static java.util.Comparator.comparing;
+import static java.util.Objects.requireNonNull;
 
 import com.google.common.collect.ImmutableList;
 import com.google.common.collect.ImmutableListMultimap;
@@ -206,7 +206,7 @@
   public ReviewerAddition prepare(
       ReviewDb db, ChangeNotes notes, CurrentUser user, AddReviewerInput input, boolean allowGroup)
       throws OrmException, IOException, PermissionBackendException, ConfigInvalidException {
-    checkNotNull(input.reviewer);
+    requireNonNull(input.reviewer);
     ListMultimap<RecipientType, Account.Id> accountsToNotify;
     try {
       accountsToNotify = notifyUtil.resolveAccounts(input.notifyDetails);
@@ -468,7 +468,7 @@
 
     private ReviewerAddition(AddReviewerInput input, FailureType failureType) {
       this.input = input;
-      this.failureType = checkNotNull(failureType);
+      this.failureType = requireNonNull(failureType);
       result = new AddReviewerResult(input.reviewer);
       op = null;
       reviewers = ImmutableSet.of();
diff --git a/java/com/google/gerrit/server/change/SetAssigneeOp.java b/java/com/google/gerrit/server/change/SetAssigneeOp.java
index 2242ef3..f61e95f 100644
--- a/java/com/google/gerrit/server/change/SetAssigneeOp.java
+++ b/java/com/google/gerrit/server/change/SetAssigneeOp.java
@@ -14,7 +14,7 @@
 
 package com.google.gerrit.server.change;
 
-import static com.google.common.base.Preconditions.checkNotNull;
+import static java.util.Objects.requireNonNull;
 
 import com.google.common.flogger.FluentLogger;
 import com.google.gerrit.extensions.restapi.ResourceConflictException;
@@ -70,7 +70,7 @@
     this.setAssigneeSenderFactory = setAssigneeSenderFactory;
     this.user = user;
     this.userFactory = userFactory;
-    this.newAssignee = checkNotNull(newAssignee, "assignee");
+    this.newAssignee = requireNonNull(newAssignee, "assignee");
   }
 
   @Override
diff --git a/java/com/google/gerrit/server/config/ConfigUtil.java b/java/com/google/gerrit/server/config/ConfigUtil.java
index c6527fd..f476adf 100644
--- a/java/com/google/gerrit/server/config/ConfigUtil.java
+++ b/java/com/google/gerrit/server/config/ConfigUtil.java
@@ -14,7 +14,8 @@
 
 package com.google.gerrit.server.config;
 
-import com.google.common.base.Preconditions;
+import static java.util.Objects.requireNonNull;
+
 import java.lang.reflect.Field;
 import java.lang.reflect.InvocationTargetException;
 import java.lang.reflect.Modifier;
@@ -289,7 +290,7 @@
         Object c = f.get(s);
         Object d = f.get(defaults);
         if (!isString(t) && !isCollectionOrMap(t)) {
-          Preconditions.checkNotNull(d, "Default cannot be null for: " + n);
+          requireNonNull(d, "Default cannot be null for: " + n);
         }
         if (c == null || c.equals(d)) {
           cfg.unset(section, sub, n);
@@ -347,7 +348,7 @@
         f.setAccessible(true);
         Object d = f.get(defaults);
         if (!isString(t) && !isCollectionOrMap(t)) {
-          Preconditions.checkNotNull(d, "Default cannot be null for: " + n);
+          requireNonNull(d, "Default cannot be null for: " + n);
         }
         if (isString(t)) {
           String v = cfg.getString(section, sub, n);
diff --git a/java/com/google/gerrit/server/config/ScheduleConfig.java b/java/com/google/gerrit/server/config/ScheduleConfig.java
index d62e7a2..c5f53b3 100644
--- a/java/com/google/gerrit/server/config/ScheduleConfig.java
+++ b/java/com/google/gerrit/server/config/ScheduleConfig.java
@@ -14,8 +14,8 @@
 
 package com.google.gerrit.server.config;
 
-import static com.google.common.base.Preconditions.checkNotNull;
 import static java.time.ZoneId.systemDefault;
+import static java.util.Objects.requireNonNull;
 
 import com.google.auto.value.AutoValue;
 import com.google.auto.value.extension.memoized.Memoized;
@@ -239,7 +239,7 @@
   }
 
   private static long computeInitialDelay(long interval, String start, ZonedDateTime now) {
-    checkNotNull(start);
+    requireNonNull(start);
 
     try {
       DateTimeFormatter formatter = DateTimeFormatter.ofPattern("[E ]HH:mm").withLocale(Locale.US);
diff --git a/java/com/google/gerrit/server/edit/ChangeEdit.java b/java/com/google/gerrit/server/edit/ChangeEdit.java
index e641abc..11dc380 100644
--- a/java/com/google/gerrit/server/edit/ChangeEdit.java
+++ b/java/com/google/gerrit/server/edit/ChangeEdit.java
@@ -14,7 +14,7 @@
 
 package com.google.gerrit.server.edit;
 
-import static com.google.common.base.Preconditions.checkNotNull;
+import static java.util.Objects.requireNonNull;
 
 import com.google.gerrit.reviewdb.client.Change;
 import com.google.gerrit.reviewdb.client.PatchSet;
@@ -35,10 +35,10 @@
 
   public ChangeEdit(
       Change change, String editRefName, RevCommit editCommit, PatchSet basePatchSet) {
-    this.change = checkNotNull(change);
-    this.editRefName = checkNotNull(editRefName);
-    this.editCommit = checkNotNull(editCommit);
-    this.basePatchSet = checkNotNull(basePatchSet);
+    this.change = requireNonNull(change);
+    this.editRefName = requireNonNull(editRefName);
+    this.editCommit = requireNonNull(editCommit);
+    this.basePatchSet = requireNonNull(basePatchSet);
   }
 
   public Change getChange() {
diff --git a/java/com/google/gerrit/server/edit/tree/ChangeFileContentModification.java b/java/com/google/gerrit/server/edit/tree/ChangeFileContentModification.java
index a163b58..d91e2e8 100644
--- a/java/com/google/gerrit/server/edit/tree/ChangeFileContentModification.java
+++ b/java/com/google/gerrit/server/edit/tree/ChangeFileContentModification.java
@@ -14,7 +14,7 @@
 
 package com.google.gerrit.server.edit.tree;
 
-import static com.google.common.base.Preconditions.checkNotNull;
+import static java.util.Objects.requireNonNull;
 import static org.eclipse.jgit.lib.Constants.OBJ_BLOB;
 
 import com.google.common.annotations.VisibleForTesting;
@@ -43,7 +43,7 @@
 
   public ChangeFileContentModification(String filePath, RawInput newContent) {
     this.filePath = filePath;
-    this.newContent = checkNotNull(newContent, "new content required");
+    this.newContent = requireNonNull(newContent, "new content required");
   }
 
   @Override
diff --git a/java/com/google/gerrit/server/edit/tree/TreeCreator.java b/java/com/google/gerrit/server/edit/tree/TreeCreator.java
index e867e76..e6caf97 100644
--- a/java/com/google/gerrit/server/edit/tree/TreeCreator.java
+++ b/java/com/google/gerrit/server/edit/tree/TreeCreator.java
@@ -14,7 +14,7 @@
 
 package com.google.gerrit.server.edit.tree;
 
-import static com.google.common.base.Preconditions.checkNotNull;
+import static java.util.Objects.requireNonNull;
 
 import java.io.IOException;
 import java.util.ArrayList;
@@ -39,7 +39,7 @@
   private final List<TreeModification> treeModifications = new ArrayList<>();
 
   public TreeCreator(RevCommit baseCommit) {
-    this.baseCommit = checkNotNull(baseCommit, "baseCommit is required");
+    this.baseCommit = requireNonNull(baseCommit, "baseCommit is required");
   }
 
   /**
@@ -49,7 +49,7 @@
    * @param treeModifications modifications which should be applied to the base tree
    */
   public void addTreeModifications(List<TreeModification> treeModifications) {
-    checkNotNull(treeModifications, "treeModifications must not be null");
+    requireNonNull(treeModifications, "treeModifications must not be null");
     this.treeModifications.addAll(treeModifications);
   }
 
diff --git a/java/com/google/gerrit/server/events/EventFactory.java b/java/com/google/gerrit/server/events/EventFactory.java
index 62dc511..40ad144 100644
--- a/java/com/google/gerrit/server/events/EventFactory.java
+++ b/java/com/google/gerrit/server/events/EventFactory.java
@@ -14,8 +14,8 @@
 
 package com.google.gerrit.server.events;
 
-import static com.google.common.base.Preconditions.checkNotNull;
 import static java.util.Comparator.comparing;
+import static java.util.Objects.requireNonNull;
 
 import com.google.common.collect.ListMultimap;
 import com.google.common.collect.Lists;
@@ -322,7 +322,7 @@
           if (!ps.getRevision().get().equals(p)) {
             continue;
           }
-          ca.dependsOn.add(newDependsOn(checkNotNull(cd.change()), ps));
+          ca.dependsOn.add(newDependsOn(requireNonNull(cd.change()), ps));
         }
       }
     }
@@ -357,7 +357,7 @@
           if (!p.name().equals(rev)) {
             continue;
           }
-          ca.neededBy.add(newNeededBy(checkNotNull(cd.change()), ps));
+          ca.neededBy.add(newNeededBy(requireNonNull(cd.change()), ps));
           continue PATCH_SETS;
         }
       }
diff --git a/java/com/google/gerrit/server/fixes/FixReplacementInterpreter.java b/java/com/google/gerrit/server/fixes/FixReplacementInterpreter.java
index 1e5088be..65f14db 100644
--- a/java/com/google/gerrit/server/fixes/FixReplacementInterpreter.java
+++ b/java/com/google/gerrit/server/fixes/FixReplacementInterpreter.java
@@ -14,7 +14,7 @@
 
 package com.google.gerrit.server.fixes;
 
-import static com.google.common.base.Preconditions.checkNotNull;
+import static java.util.Objects.requireNonNull;
 import static java.util.stream.Collectors.groupingBy;
 
 import com.google.gerrit.common.RawInputUtil;
@@ -70,7 +70,7 @@
       ObjectId patchSetCommitId,
       List<FixReplacement> fixReplacements)
       throws ResourceNotFoundException, IOException, ResourceConflictException {
-    checkNotNull(fixReplacements, "Fix replacements must not be null");
+    requireNonNull(fixReplacements, "Fix replacements must not be null");
 
     Map<String, List<FixReplacement>> fixReplacementsPerFilePath =
         fixReplacements.stream().collect(groupingBy(fixReplacement -> fixReplacement.path));
diff --git a/java/com/google/gerrit/server/fixes/LineIdentifier.java b/java/com/google/gerrit/server/fixes/LineIdentifier.java
index c32d822..3d09c34 100644
--- a/java/com/google/gerrit/server/fixes/LineIdentifier.java
+++ b/java/com/google/gerrit/server/fixes/LineIdentifier.java
@@ -14,7 +14,7 @@
 
 package com.google.gerrit.server.fixes;
 
-import static com.google.common.base.Preconditions.checkNotNull;
+import static java.util.Objects.requireNonNull;
 
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
@@ -36,7 +36,7 @@
   private int currentLineEndIndex;
 
   LineIdentifier(String string) {
-    checkNotNull(string);
+    requireNonNull(string);
     lineSeparatorMatcher = LINE_SEPARATOR_PATTERN.matcher(string);
     reset();
   }
diff --git a/java/com/google/gerrit/server/fixes/StringModifier.java b/java/com/google/gerrit/server/fixes/StringModifier.java
index ccd40b3..85d024b 100644
--- a/java/com/google/gerrit/server/fixes/StringModifier.java
+++ b/java/com/google/gerrit/server/fixes/StringModifier.java
@@ -14,7 +14,7 @@
 
 package com.google.gerrit.server.fixes;
 
-import static com.google.common.base.Preconditions.checkNotNull;
+import static java.util.Objects.requireNonNull;
 
 /**
  * A modifier of a string. It allows to replace multiple parts of a string by indicating those parts
@@ -29,7 +29,7 @@
   private int previousEndOffset = Integer.MIN_VALUE;
 
   StringModifier(String string) {
-    checkNotNull(string, "string must not be null");
+    requireNonNull(string, "string must not be null");
     stringBuilder = new StringBuilder(string);
   }
 
@@ -45,7 +45,7 @@
    *     previous call of this method
    */
   public void replace(int startIndex, int endIndex, String replacement) {
-    checkNotNull(replacement, "replacement string must not be null");
+    requireNonNull(replacement, "replacement string must not be null");
     if (previousEndOffset > startIndex) {
       throw new StringIndexOutOfBoundsException(
           String.format(
diff --git a/java/com/google/gerrit/server/git/InMemoryInserter.java b/java/com/google/gerrit/server/git/InMemoryInserter.java
index b80f846..8d12f2b 100644
--- a/java/com/google/gerrit/server/git/InMemoryInserter.java
+++ b/java/com/google/gerrit/server/git/InMemoryInserter.java
@@ -14,7 +14,7 @@
 
 package com.google.gerrit.server.git;
 
-import static com.google.common.base.Preconditions.checkNotNull;
+import static java.util.Objects.requireNonNull;
 
 import com.google.common.collect.ImmutableList;
 import java.io.IOException;
@@ -40,7 +40,7 @@
   private final boolean closeReader;
 
   public InMemoryInserter(ObjectReader reader) {
-    this.reader = checkNotNull(reader);
+    this.reader = requireNonNull(reader);
     closeReader = false;
   }
 
diff --git a/java/com/google/gerrit/server/git/MergeTip.java b/java/com/google/gerrit/server/git/MergeTip.java
index 3bd0f38..204f453 100644
--- a/java/com/google/gerrit/server/git/MergeTip.java
+++ b/java/com/google/gerrit/server/git/MergeTip.java
@@ -15,7 +15,7 @@
 package com.google.gerrit.server.git;
 
 import static com.google.common.base.Preconditions.checkArgument;
-import static com.google.common.base.Preconditions.checkNotNull;
+import static java.util.Objects.requireNonNull;
 
 import com.google.gerrit.common.Nullable;
 import java.util.Collection;
@@ -40,7 +40,7 @@
    * @param toMerge list of commits to be merged in merge operation; may not be null or empty.
    */
   public MergeTip(@Nullable CodeReviewCommit initialTip, Collection<CodeReviewCommit> toMerge) {
-    checkNotNull(toMerge, "toMerge may not be null");
+    requireNonNull(toMerge, "toMerge may not be null");
     checkArgument(!toMerge.isEmpty(), "toMerge may not be empty");
     this.initialTip = initialTip;
     this.branchTip = initialTip;
diff --git a/java/com/google/gerrit/server/git/MergeUtil.java b/java/com/google/gerrit/server/git/MergeUtil.java
index d5e2a41..cc3b415 100644
--- a/java/com/google/gerrit/server/git/MergeUtil.java
+++ b/java/com/google/gerrit/server/git/MergeUtil.java
@@ -15,10 +15,10 @@
 package com.google.gerrit.server.git;
 
 import static com.google.common.base.Preconditions.checkArgument;
-import static com.google.common.base.Preconditions.checkNotNull;
 import static com.google.common.base.Preconditions.checkState;
 import static com.google.common.collect.ImmutableSet.toImmutableSet;
 import static java.nio.charset.StandardCharsets.UTF_8;
+import static java.util.Objects.requireNonNull;
 
 import com.google.common.base.Joiner;
 import com.google.common.base.Strings;
@@ -129,16 +129,18 @@
 
     public String generate(
         RevCommit original, RevCommit mergeTip, Branch.NameKey dest, String current) {
-      checkNotNull(original.getRawBuffer());
+      requireNonNull(original.getRawBuffer());
       if (mergeTip != null) {
-        checkNotNull(mergeTip.getRawBuffer());
+        requireNonNull(mergeTip.getRawBuffer());
       }
       for (ChangeMessageModifier changeMessageModifier : changeMessageModifiers) {
         current = changeMessageModifier.onSubmit(current, original, mergeTip, dest);
-        checkNotNull(
+        requireNonNull(
             current,
-            changeMessageModifier.getClass().getName()
-                + ".OnSubmit returned null instead of new commit message");
+            () ->
+                String.format(
+                    "%s.OnSubmit returned null instead of new commit message",
+                    changeMessageModifier.getClass().getName()));
       }
       return current;
     }
diff --git a/java/com/google/gerrit/server/git/MergedByPushOp.java b/java/com/google/gerrit/server/git/MergedByPushOp.java
index eced9c3..b3a1d72 100644
--- a/java/com/google/gerrit/server/git/MergedByPushOp.java
+++ b/java/com/google/gerrit/server/git/MergedByPushOp.java
@@ -14,7 +14,7 @@
 
 package com.google.gerrit.server.git;
 
-import static com.google.common.base.Preconditions.checkNotNull;
+import static java.util.Objects.requireNonNull;
 
 import com.google.common.flogger.FluentLogger;
 import com.google.gerrit.reviewdb.client.Change;
@@ -101,7 +101,7 @@
   }
 
   public MergedByPushOp setPatchSetProvider(Provider<PatchSet> patchSetProvider) {
-    this.patchSetProvider = checkNotNull(patchSetProvider);
+    this.patchSetProvider = requireNonNull(patchSetProvider);
     return this;
   }
 
@@ -119,8 +119,9 @@
       patchSet = patchSetProvider.get();
     } else {
       patchSet =
-          checkNotNull(
-              psUtil.get(ctx.getDb(), ctx.getNotes(), psId), "patch set %s not found", psId);
+          requireNonNull(
+              psUtil.get(ctx.getDb(), ctx.getNotes(), psId),
+              () -> String.format("patch set %s not found", psId));
     }
     info = getPatchSetInfo(ctx);
 
@@ -198,7 +199,7 @@
   private PatchSetInfo getPatchSetInfo(ChangeContext ctx) throws IOException, OrmException {
     RevWalk rw = ctx.getRevWalk();
     RevCommit commit =
-        rw.parseCommit(ObjectId.fromString(checkNotNull(patchSet).getRevision().get()));
+        rw.parseCommit(ObjectId.fromString(requireNonNull(patchSet).getRevision().get()));
     return patchSetInfoFactory.get(rw, commit, psId);
   }
 }
diff --git a/java/com/google/gerrit/server/git/receive/ReceiveCommits.java b/java/com/google/gerrit/server/git/receive/ReceiveCommits.java
index 6e800d0..c962df0 100644
--- a/java/com/google/gerrit/server/git/receive/ReceiveCommits.java
+++ b/java/com/google/gerrit/server/git/receive/ReceiveCommits.java
@@ -16,7 +16,6 @@
 
 import static com.google.common.base.MoreObjects.firstNonNull;
 import static com.google.common.base.Preconditions.checkArgument;
-import static com.google.common.base.Preconditions.checkNotNull;
 import static com.google.common.base.Preconditions.checkState;
 import static com.google.common.collect.ImmutableSet.toImmutableSet;
 import static com.google.gerrit.common.FooterConstants.CHANGE_ID;
@@ -32,6 +31,7 @@
 import static com.google.gerrit.server.mail.MailUtil.getRecipientsFromFooters;
 import static java.nio.charset.StandardCharsets.UTF_8;
 import static java.util.Comparator.comparingInt;
+import static java.util.Objects.requireNonNull;
 import static java.util.stream.Collectors.joining;
 import static java.util.stream.Collectors.toList;
 import static org.eclipse.jgit.lib.Constants.R_HEADS;
@@ -2428,7 +2428,7 @@
         final PatchSet.Id psId = ins.setGroups(groups).getPatchSetId();
         Account.Id me = user.getAccountId();
         List<FooterLine> footerLines = commit.getFooterLines();
-        checkNotNull(magicBranch);
+        requireNonNull(magicBranch);
 
         // TODO(dborowitz): Support reviewers by email from footers? Maybe not: kernel developers
         // with AOSP accounts already complain about these notifications, and that would make it
@@ -2496,15 +2496,20 @@
           PermissionBackendException {
     Map<ObjectId, Change> bySha = Maps.newHashMapWithExpectedSize(create.size() + replace.size());
     for (CreateRequest r : create) {
-      checkNotNull(r.change, "cannot submit new change %s; op may not have run", r.changeId);
+      requireNonNull(
+          r.change,
+          () -> String.format("cannot submit new change %s; op may not have run", r.changeId));
       bySha.put(r.commit, r.change);
     }
     for (ReplaceRequest r : replace) {
       bySha.put(r.newCommitId, r.notes.getChange());
     }
     Change tipChange = bySha.get(magicBranch.cmd.getNewId());
-    checkNotNull(
-        tipChange, "tip of push does not correspond to a change; found these changes: %s", bySha);
+    requireNonNull(
+        tipChange,
+        () ->
+            String.format(
+                "tip of push does not correspond to a change; found these changes: %s", bySha));
     logger.atFine().log(
         "Processing submit with tip change %s (%s)", tipChange.getId(), magicBranch.cmd.getNewId());
     try (MergeOp op = mergeOpProvider.get()) {
@@ -2573,7 +2578,7 @@
         Change.Id toChange, RevCommit newCommit, ReceiveCommand cmd, boolean checkMergedInto) {
       this.ontoChange = toChange;
       this.newCommitId = newCommit.copy();
-      this.inputCommand = checkNotNull(cmd);
+      this.inputCommand = requireNonNull(cmd);
       this.checkMergedInto = checkMergedInto;
 
       revisions = HashBiMap.create();
@@ -2853,7 +2858,7 @@
     List<String> groups = ImmutableList.of();
 
     UpdateGroupsRequest(Ref ref, RevCommit commit) {
-      this.psId = checkNotNull(PatchSet.Id.fromRef(ref.getName()));
+      this.psId = requireNonNull(PatchSet.Id.fromRef(ref.getName()));
       this.commit = commit;
     }
 
@@ -2887,7 +2892,7 @@
     final ReceiveCommand cmd;
 
     private UpdateOneRefOp(ReceiveCommand cmd) {
-      this.cmd = checkNotNull(cmd);
+      this.cmd = requireNonNull(cmd);
     }
 
     @Override
diff --git a/java/com/google/gerrit/server/git/validators/OnSubmitValidationListener.java b/java/com/google/gerrit/server/git/validators/OnSubmitValidationListener.java
index a626998..308fdc0 100644
--- a/java/com/google/gerrit/server/git/validators/OnSubmitValidationListener.java
+++ b/java/com/google/gerrit/server/git/validators/OnSubmitValidationListener.java
@@ -14,7 +14,7 @@
 
 package com.google.gerrit.server.git.validators;
 
-import static com.google.common.base.Preconditions.checkNotNull;
+import static java.util.Objects.requireNonNull;
 
 import com.google.common.collect.ImmutableMap;
 import com.google.gerrit.extensions.annotations.ExtensionPoint;
@@ -52,9 +52,9 @@
      * @param commands commands to be executed.
      */
     Arguments(Project.NameKey project, RevWalk rw, ChainedReceiveCommands commands) {
-      this.project = checkNotNull(project);
-      this.rw = checkNotNull(rw);
-      this.refs = checkNotNull(commands);
+      this.project = requireNonNull(project);
+      this.rw = requireNonNull(rw);
+      this.refs = requireNonNull(commands);
       this.commands = ImmutableMap.copyOf(commands.getCommands());
     }
 
diff --git a/java/com/google/gerrit/server/group/InternalGroupDescription.java b/java/com/google/gerrit/server/group/InternalGroupDescription.java
index 3981b70..1d2252d 100644
--- a/java/com/google/gerrit/server/group/InternalGroupDescription.java
+++ b/java/com/google/gerrit/server/group/InternalGroupDescription.java
@@ -14,7 +14,7 @@
 
 package com.google.gerrit.server.group;
 
-import static com.google.common.base.Preconditions.checkNotNull;
+import static java.util.Objects.requireNonNull;
 
 import com.google.common.collect.ImmutableSet;
 import com.google.gerrit.common.Nullable;
@@ -29,7 +29,7 @@
   private final InternalGroup internalGroup;
 
   public InternalGroupDescription(InternalGroup internalGroup) {
-    this.internalGroup = checkNotNull(internalGroup);
+    this.internalGroup = requireNonNull(internalGroup);
   }
 
   @Override
diff --git a/java/com/google/gerrit/server/group/SystemGroupBackend.java b/java/com/google/gerrit/server/group/SystemGroupBackend.java
index 6fc5f46..85c1e73 100644
--- a/java/com/google/gerrit/server/group/SystemGroupBackend.java
+++ b/java/com/google/gerrit/server/group/SystemGroupBackend.java
@@ -14,7 +14,7 @@
 
 package com.google.gerrit.server.group;
 
-import static com.google.common.base.Preconditions.checkNotNull;
+import static java.util.Objects.requireNonNull;
 import static java.util.stream.Collectors.toSet;
 
 import com.google.common.annotations.VisibleForTesting;
@@ -117,7 +117,7 @@
   }
 
   public GroupReference getGroup(AccountGroup.UUID uuid) {
-    return checkNotNull(uuids.get(uuid), "group %s not found", uuid.get());
+    return requireNonNull(uuids.get(uuid), () -> String.format("group %s not found", uuid.get()));
   }
 
   public Set<String> getNames() {
diff --git a/java/com/google/gerrit/server/group/db/AuditLogFormatter.java b/java/com/google/gerrit/server/group/db/AuditLogFormatter.java
index bbbc095..508f5ef 100644
--- a/java/com/google/gerrit/server/group/db/AuditLogFormatter.java
+++ b/java/com/google/gerrit/server/group/db/AuditLogFormatter.java
@@ -14,8 +14,8 @@
 
 package com.google.gerrit.server.group.db;
 
-import static com.google.common.base.Preconditions.checkNotNull;
 import static com.google.common.base.Preconditions.checkState;
+import static java.util.Objects.requireNonNull;
 
 import com.google.common.collect.ImmutableSet;
 import com.google.gerrit.common.Nullable;
@@ -90,16 +90,16 @@
       Function<Account.Id, Optional<Account>> accountRetriever,
       Function<AccountGroup.UUID, Optional<GroupDescription.Basic>> groupRetriever,
       String serverId) {
-    this.accountRetriever = checkNotNull(accountRetriever);
-    this.groupRetriever = checkNotNull(groupRetriever);
-    this.serverId = checkNotNull(serverId);
+    this.accountRetriever = requireNonNull(accountRetriever);
+    this.groupRetriever = requireNonNull(groupRetriever);
+    this.serverId = requireNonNull(serverId);
   }
 
   private AuditLogFormatter(
       Function<Account.Id, Optional<Account>> accountRetriever,
       Function<AccountGroup.UUID, Optional<GroupDescription.Basic>> groupRetriever) {
-    this.accountRetriever = checkNotNull(accountRetriever);
-    this.groupRetriever = checkNotNull(groupRetriever);
+    this.accountRetriever = requireNonNull(accountRetriever);
+    this.groupRetriever = requireNonNull(groupRetriever);
     serverId = null;
   }
 
diff --git a/java/com/google/gerrit/server/group/db/GroupConfig.java b/java/com/google/gerrit/server/group/db/GroupConfig.java
index 193a67f..66230ea 100644
--- a/java/com/google/gerrit/server/group/db/GroupConfig.java
+++ b/java/com/google/gerrit/server/group/db/GroupConfig.java
@@ -14,9 +14,9 @@
 
 package com.google.gerrit.server.group.db;
 
-import static com.google.common.base.Preconditions.checkNotNull;
 import static com.google.common.base.Preconditions.checkState;
 import static com.google.common.collect.ImmutableSet.toImmutableSet;
+import static java.util.Objects.requireNonNull;
 import static java.util.stream.Collectors.joining;
 
 import com.google.common.annotations.VisibleForTesting;
@@ -187,7 +187,7 @@
   private boolean allowSaveEmptyName;
 
   private GroupConfig(AccountGroup.UUID groupUuid) {
-    this.groupUuid = checkNotNull(groupUuid);
+    this.groupUuid = requireNonNull(groupUuid);
     ref = RefNames.refsGroups(groupUuid);
   }
 
diff --git a/java/com/google/gerrit/server/group/db/GroupNameNotes.java b/java/com/google/gerrit/server/group/db/GroupNameNotes.java
index 440bc42..6c21dc4 100644
--- a/java/com/google/gerrit/server/group/db/GroupNameNotes.java
+++ b/java/com/google/gerrit/server/group/db/GroupNameNotes.java
@@ -14,9 +14,9 @@
 
 package com.google.gerrit.server.group.db;
 
-import static com.google.common.base.Preconditions.checkNotNull;
 import static com.google.common.collect.ImmutableBiMap.toImmutableBiMap;
 import static java.nio.charset.StandardCharsets.UTF_8;
+import static java.util.Objects.requireNonNull;
 import static org.eclipse.jgit.lib.Constants.OBJ_BLOB;
 
 import com.google.common.annotations.VisibleForTesting;
@@ -123,8 +123,8 @@
       AccountGroup.NameKey oldName,
       AccountGroup.NameKey newName)
       throws IOException, ConfigInvalidException, OrmDuplicateKeyException {
-    checkNotNull(oldName);
-    checkNotNull(newName);
+    requireNonNull(oldName);
+    requireNonNull(newName);
 
     GroupNameNotes groupNameNotes = new GroupNameNotes(groupUuid, oldName, newName);
     groupNameNotes.load(projectName, repository);
@@ -154,7 +154,7 @@
       AccountGroup.UUID groupUuid,
       AccountGroup.NameKey groupName)
       throws IOException, ConfigInvalidException, OrmDuplicateKeyException {
-    checkNotNull(groupName);
+    requireNonNull(groupName);
 
     GroupNameNotes groupNameNotes = new GroupNameNotes(groupUuid, null, groupName);
     groupNameNotes.load(projectName, repository);
@@ -313,7 +313,7 @@
       AccountGroup.UUID groupUuid,
       @Nullable AccountGroup.NameKey oldGroupName,
       @Nullable AccountGroup.NameKey newGroupName) {
-    this.groupUuid = checkNotNull(groupUuid);
+    this.groupUuid = requireNonNull(groupUuid);
 
     if (Objects.equals(oldGroupName, newGroupName)) {
       this.oldGroupName = Optional.empty();
diff --git a/java/com/google/gerrit/server/group/testing/TestGroupBackend.java b/java/com/google/gerrit/server/group/testing/TestGroupBackend.java
index c0efe2b..550b15c 100644
--- a/java/com/google/gerrit/server/group/testing/TestGroupBackend.java
+++ b/java/com/google/gerrit/server/group/testing/TestGroupBackend.java
@@ -14,8 +14,8 @@
 
 package com.google.gerrit.server.group.testing;
 
-import static com.google.common.base.Preconditions.checkNotNull;
 import static com.google.common.base.Preconditions.checkState;
+import static java.util.Objects.requireNonNull;
 
 import com.google.common.collect.ImmutableList;
 import com.google.gerrit.common.data.GroupDescription;
@@ -42,7 +42,7 @@
    * @return the created group
    */
   public GroupDescription.Basic create(String name) {
-    checkNotNull(name);
+    requireNonNull(name);
     return create(new AccountGroup.UUID(name.startsWith(PREFIX) ? name : PREFIX + name));
   }
 
diff --git a/java/com/google/gerrit/server/index/OnlineReindexer.java b/java/com/google/gerrit/server/index/OnlineReindexer.java
index 0695278..ec0e1d4 100644
--- a/java/com/google/gerrit/server/index/OnlineReindexer.java
+++ b/java/com/google/gerrit/server/index/OnlineReindexer.java
@@ -14,7 +14,7 @@
 
 package com.google.gerrit.server.index;
 
-import static com.google.common.base.Preconditions.checkNotNull;
+import static java.util.Objects.requireNonNull;
 
 import com.google.common.collect.Lists;
 import com.google.common.flogger.FluentLogger;
@@ -98,11 +98,9 @@
       listener.onStart(name, oldVersion, newVersion);
     }
     index =
-        checkNotNull(
+        requireNonNull(
             indexes.getWriteIndex(newVersion),
-            "not an active write schema version: %s %s",
-            name,
-            newVersion);
+            () -> String.format("not an active write schema version: %s %s", name, newVersion));
     logger.atInfo().log(
         "Starting online reindex of %s from schema version %s to %s",
         name, version(indexes.getSearchIndex()), version(index));
diff --git a/java/com/google/gerrit/server/index/account/AccountIndexRewriter.java b/java/com/google/gerrit/server/index/account/AccountIndexRewriter.java
index bc0970e..35b967c 100644
--- a/java/com/google/gerrit/server/index/account/AccountIndexRewriter.java
+++ b/java/com/google/gerrit/server/index/account/AccountIndexRewriter.java
@@ -14,7 +14,7 @@
 
 package com.google.gerrit.server.index.account;
 
-import static com.google.common.base.Preconditions.checkNotNull;
+import static java.util.Objects.requireNonNull;
 
 import com.google.gerrit.index.IndexRewriter;
 import com.google.gerrit.index.QueryOptions;
@@ -38,7 +38,7 @@
   public Predicate<AccountState> rewrite(Predicate<AccountState> in, QueryOptions opts)
       throws QueryParseException {
     AccountIndex index = indexes.getSearchIndex();
-    checkNotNull(index, "no active search index configured for accounts");
+    requireNonNull(index, "no active search index configured for accounts");
     return new IndexedAccountQuery(index, in, opts);
   }
 }
diff --git a/java/com/google/gerrit/server/index/account/StalenessChecker.java b/java/com/google/gerrit/server/index/account/StalenessChecker.java
index 0c3e329..4664700 100644
--- a/java/com/google/gerrit/server/index/account/StalenessChecker.java
+++ b/java/com/google/gerrit/server/index/account/StalenessChecker.java
@@ -14,9 +14,9 @@
 
 package com.google.gerrit.server.index.account;
 
-import static com.google.common.base.Preconditions.checkNotNull;
 import static com.google.common.base.Preconditions.checkState;
 import static java.nio.charset.StandardCharsets.UTF_8;
+import static java.util.Objects.requireNonNull;
 
 import com.google.common.base.Splitter;
 import com.google.common.collect.ImmutableSet;
@@ -140,7 +140,7 @@
     }
 
     for (byte[] b : extIdStates) {
-      checkNotNull(b, "invalid external ID state");
+      requireNonNull(b, "invalid external ID state");
       String s = new String(b, UTF_8);
       List<String> parts = Splitter.on(':').splitToList(s);
       checkState(parts.size() == 2, "invalid external ID state: %s", s);
diff --git a/java/com/google/gerrit/server/index/change/StalenessChecker.java b/java/com/google/gerrit/server/index/change/StalenessChecker.java
index b32ca8c..cf7db6f 100644
--- a/java/com/google/gerrit/server/index/change/StalenessChecker.java
+++ b/java/com/google/gerrit/server/index/change/StalenessChecker.java
@@ -15,8 +15,8 @@
 package com.google.gerrit.server.index.change;
 
 import static com.google.common.base.Preconditions.checkArgument;
-import static com.google.common.base.Preconditions.checkNotNull;
 import static java.nio.charset.StandardCharsets.UTF_8;
+import static java.util.Objects.requireNonNull;
 import static java.util.stream.Collectors.joining;
 
 import com.google.auto.value.AutoValue;
@@ -136,7 +136,7 @@
 
   @VisibleForTesting
   static boolean reviewDbChangeIsStale(Change indexChange, @Nullable Change reviewDbChange) {
-    checkNotNull(indexChange);
+    requireNonNull(indexChange);
     PrimaryStorage storageFromIndex = PrimaryStorage.of(indexChange);
     PrimaryStorage storageFromReviewDb = PrimaryStorage.of(reviewDbChange);
     if (reviewDbChange == null) {
diff --git a/java/com/google/gerrit/server/index/group/GroupIndexRewriter.java b/java/com/google/gerrit/server/index/group/GroupIndexRewriter.java
index c658173..157c01a 100644
--- a/java/com/google/gerrit/server/index/group/GroupIndexRewriter.java
+++ b/java/com/google/gerrit/server/index/group/GroupIndexRewriter.java
@@ -14,7 +14,7 @@
 
 package com.google.gerrit.server.index.group;
 
-import static com.google.common.base.Preconditions.checkNotNull;
+import static java.util.Objects.requireNonNull;
 
 import com.google.gerrit.index.IndexRewriter;
 import com.google.gerrit.index.QueryOptions;
@@ -37,7 +37,7 @@
   public Predicate<InternalGroup> rewrite(Predicate<InternalGroup> in, QueryOptions opts)
       throws QueryParseException {
     GroupIndex index = indexes.getSearchIndex();
-    checkNotNull(index, "no active search index configured for groups");
+    requireNonNull(index, "no active search index configured for groups");
     return new IndexedGroupQuery(index, in, opts);
   }
 }
diff --git a/java/com/google/gerrit/server/ioutil/RegexListSearcher.java b/java/com/google/gerrit/server/ioutil/RegexListSearcher.java
index 937a195..dda373c 100644
--- a/java/com/google/gerrit/server/ioutil/RegexListSearcher.java
+++ b/java/com/google/gerrit/server/ioutil/RegexListSearcher.java
@@ -14,7 +14,7 @@
 
 package com.google.gerrit.server.ioutil;
 
-import static com.google.common.base.Preconditions.checkNotNull;
+import static java.util.Objects.requireNonNull;
 
 import com.google.common.collect.Lists;
 import com.google.common.primitives.Chars;
@@ -41,7 +41,7 @@
   private final boolean prefixOnly;
 
   public RegexListSearcher(String re, Function<T, String> toStringFunc) {
-    this.toStringFunc = checkNotNull(toStringFunc);
+    this.toStringFunc = requireNonNull(toStringFunc);
 
     if (re.startsWith("^")) {
       re = re.substring(1);
@@ -68,7 +68,7 @@
   }
 
   public Stream<T> search(List<T> list) {
-    checkNotNull(list);
+    requireNonNull(list);
     int begin;
     int end;
 
diff --git a/java/com/google/gerrit/server/logging/MutableTags.java b/java/com/google/gerrit/server/logging/MutableTags.java
index a936a43..f70a8db 100644
--- a/java/com/google/gerrit/server/logging/MutableTags.java
+++ b/java/com/google/gerrit/server/logging/MutableTags.java
@@ -14,7 +14,7 @@
 
 package com.google.gerrit.server.logging;
 
-import static com.google.common.base.Preconditions.checkNotNull;
+import static java.util.Objects.requireNonNull;
 
 import com.google.common.collect.ImmutableSetMultimap;
 import com.google.common.collect.MultimapBuilder;
@@ -39,8 +39,8 @@
    *     already exists
    */
   public boolean add(String name, String value) {
-    checkNotNull(name, "tag name is required");
-    checkNotNull(value, "tag value is required");
+    requireNonNull(name, "tag name is required");
+    requireNonNull(value, "tag value is required");
     boolean ret = tagMap.put(name, value);
     if (ret) {
       buildTags();
@@ -55,8 +55,8 @@
    * @param value the value of the tag
    */
   public void remove(String name, String value) {
-    checkNotNull(name, "tag name is required");
-    checkNotNull(value, "tag value is required");
+    requireNonNull(name, "tag name is required");
+    requireNonNull(value, "tag value is required");
     if (tagMap.remove(name, value)) {
       buildTags();
     }
diff --git a/java/com/google/gerrit/server/logging/TraceContext.java b/java/com/google/gerrit/server/logging/TraceContext.java
index 614bf9a..76968d5 100644
--- a/java/com/google/gerrit/server/logging/TraceContext.java
+++ b/java/com/google/gerrit/server/logging/TraceContext.java
@@ -14,7 +14,7 @@
 
 package com.google.gerrit.server.logging;
 
-import static com.google.common.base.Preconditions.checkNotNull;
+import static java.util.Objects.requireNonNull;
 
 import com.google.common.base.Stopwatch;
 import com.google.common.base.Strings;
@@ -252,12 +252,12 @@
   private TraceContext() {}
 
   public TraceContext addTag(RequestId.Type requestId, Object tagValue) {
-    return addTag(checkNotNull(requestId, "request ID is required").name(), tagValue);
+    return addTag(requireNonNull(requestId, "request ID is required").name(), tagValue);
   }
 
   public TraceContext addTag(String tagName, Object tagValue) {
-    String name = checkNotNull(tagName, "tag name is required");
-    String value = checkNotNull(tagValue, "tag value is required").toString();
+    String name = requireNonNull(tagName, "tag name is required");
+    String value = requireNonNull(tagValue, "tag value is required").toString();
     tags.put(name, value, LoggingContext.getInstance().addTag(name, value));
     return this;
   }
diff --git a/java/com/google/gerrit/server/mail/send/InboundEmailRejectionSender.java b/java/com/google/gerrit/server/mail/send/InboundEmailRejectionSender.java
index 65ce128..99edc04 100644
--- a/java/com/google/gerrit/server/mail/send/InboundEmailRejectionSender.java
+++ b/java/com/google/gerrit/server/mail/send/InboundEmailRejectionSender.java
@@ -14,7 +14,7 @@
 
 package com.google.gerrit.server.mail.send;
 
-import static com.google.common.base.Preconditions.checkNotNull;
+import static java.util.Objects.requireNonNull;
 
 import com.google.gerrit.common.errors.EmailException;
 import com.google.gerrit.extensions.api.changes.RecipientType;
@@ -47,9 +47,9 @@
   public InboundEmailRejectionSender(
       EmailArguments ea, @Assisted Address to, @Assisted String threadId, @Assisted Error reason) {
     super(ea, "error");
-    this.to = checkNotNull(to);
-    this.threadId = checkNotNull(threadId);
-    this.reason = checkNotNull(reason);
+    this.to = requireNonNull(to);
+    this.threadId = requireNonNull(threadId);
+    this.reason = requireNonNull(reason);
   }
 
   @Override
diff --git a/java/com/google/gerrit/server/mail/send/OutgoingEmail.java b/java/com/google/gerrit/server/mail/send/OutgoingEmail.java
index 6182826..043eee9 100644
--- a/java/com/google/gerrit/server/mail/send/OutgoingEmail.java
+++ b/java/com/google/gerrit/server/mail/send/OutgoingEmail.java
@@ -14,9 +14,9 @@
 
 package com.google.gerrit.server.mail.send;
 
-import static com.google.common.base.Preconditions.checkNotNull;
 import static com.google.gerrit.extensions.client.GeneralPreferencesInfo.EmailStrategy.CC_ON_OWN_COMMENTS;
 import static com.google.gerrit.extensions.client.GeneralPreferencesInfo.EmailStrategy.DISABLED;
+import static java.util.Objects.requireNonNull;
 
 import com.google.common.collect.ImmutableListMultimap;
 import com.google.common.collect.ListMultimap;
@@ -84,11 +84,11 @@
   }
 
   public void setNotify(NotifyHandling notify) {
-    this.notify = checkNotNull(notify);
+    this.notify = requireNonNull(notify);
   }
 
   public void setAccountsToNotify(ListMultimap<RecipientType, Account.Id> accountsToNotify) {
-    this.accountsToNotify = checkNotNull(accountsToNotify);
+    this.accountsToNotify = requireNonNull(accountsToNotify);
   }
 
   /**
diff --git a/java/com/google/gerrit/server/mail/send/RegisterNewEmailSender.java b/java/com/google/gerrit/server/mail/send/RegisterNewEmailSender.java
index 0dbfb60..3bca00c 100644
--- a/java/com/google/gerrit/server/mail/send/RegisterNewEmailSender.java
+++ b/java/com/google/gerrit/server/mail/send/RegisterNewEmailSender.java
@@ -14,7 +14,7 @@
 
 package com.google.gerrit.server.mail.send;
 
-import static com.google.common.base.Preconditions.checkNotNull;
+import static java.util.Objects.requireNonNull;
 
 import com.google.gerrit.common.errors.EmailException;
 import com.google.gerrit.extensions.api.changes.RecipientType;
@@ -64,7 +64,7 @@
 
   public String getEmailRegistrationToken() {
     if (emailToken == null) {
-      emailToken = checkNotNull(tokenVerifier.encode(user.getAccountId(), addr), "token");
+      emailToken = requireNonNull(tokenVerifier.encode(user.getAccountId(), addr), "token");
     }
     return emailToken;
   }
diff --git a/java/com/google/gerrit/server/notedb/AbstractChangeNotes.java b/java/com/google/gerrit/server/notedb/AbstractChangeNotes.java
index 632f6fc..72f1ba6 100644
--- a/java/com/google/gerrit/server/notedb/AbstractChangeNotes.java
+++ b/java/com/google/gerrit/server/notedb/AbstractChangeNotes.java
@@ -14,8 +14,8 @@
 
 package com.google.gerrit.server.notedb;
 
-import static com.google.common.base.Preconditions.checkNotNull;
 import static com.google.gerrit.server.notedb.NoteDbTable.CHANGES;
+import static java.util.Objects.requireNonNull;
 
 import com.google.auto.value.AutoValue;
 import com.google.common.annotations.VisibleForTesting;
@@ -92,7 +92,7 @@
       } else if (id != null) {
         id = id.copy();
       }
-      return new AutoValue_AbstractChangeNotes_LoadHandle(checkNotNull(walk), id);
+      return new AutoValue_AbstractChangeNotes_LoadHandle(requireNonNull(walk), id);
     }
 
     public static LoadHandle missing() {
@@ -123,8 +123,8 @@
 
   AbstractChangeNotes(
       Args args, Change.Id changeId, @Nullable PrimaryStorage primaryStorage, boolean autoRebuild) {
-    this.args = checkNotNull(args);
-    this.changeId = checkNotNull(changeId);
+    this.args = requireNonNull(args);
+    this.changeId = requireNonNull(changeId);
     this.primaryStorage = primaryStorage;
     this.autoRebuild =
         primaryStorage == PrimaryStorage.REVIEW_DB
diff --git a/java/com/google/gerrit/server/notedb/ChangeBundle.java b/java/com/google/gerrit/server/notedb/ChangeBundle.java
index d534ff2..c4d6a91 100644
--- a/java/com/google/gerrit/server/notedb/ChangeBundle.java
+++ b/java/com/google/gerrit/server/notedb/ChangeBundle.java
@@ -16,7 +16,6 @@
 
 import static com.google.common.base.MoreObjects.firstNonNull;
 import static com.google.common.base.Preconditions.checkArgument;
-import static com.google.common.base.Preconditions.checkNotNull;
 import static com.google.common.collect.ImmutableList.toImmutableList;
 import static com.google.common.collect.ImmutableSortedMap.toImmutableSortedMap;
 import static com.google.gerrit.reviewdb.server.ReviewDbUtil.checkColumns;
@@ -27,6 +26,7 @@
 import static java.util.Comparator.comparing;
 import static java.util.Comparator.naturalOrder;
 import static java.util.Comparator.nullsFirst;
+import static java.util.Objects.requireNonNull;
 import static java.util.stream.Collectors.toList;
 
 import com.google.auto.value.AutoValue;
@@ -203,13 +203,13 @@
       Iterable<PatchLineComment> patchLineComments,
       ReviewerSet reviewers,
       Source source) {
-    this.change = checkNotNull(change);
+    this.change = requireNonNull(change);
     this.changeMessages = changeMessageList(changeMessages);
     this.patchSets = ImmutableSortedMap.copyOfSorted(patchSetMap(patchSets));
     this.patchSetApprovals = ImmutableMap.copyOf(patchSetApprovalMap(patchSetApprovals));
     this.patchLineComments = ImmutableMap.copyOf(patchLineCommentMap(patchLineComments));
-    this.reviewers = checkNotNull(reviewers);
-    this.source = checkNotNull(source);
+    this.reviewers = requireNonNull(reviewers);
+    this.source = requireNonNull(source);
 
     for (ChangeMessage m : this.changeMessages) {
       checkArgument(m.getKey().getParentKey().equals(change.getId()));
@@ -706,8 +706,8 @@
       // purposes, ignore the postSubmit bit in NoteDb in this case.
       Timestamp ta = a.getGranted();
       Timestamp tb = b.getGranted();
-      PatchSet psa = checkNotNull(bundleA.patchSets.get(a.getPatchSetId()));
-      PatchSet psb = checkNotNull(bundleB.patchSets.get(b.getPatchSetId()));
+      PatchSet psa = requireNonNull(bundleA.patchSets.get(a.getPatchSetId()));
+      PatchSet psb = requireNonNull(bundleB.patchSets.get(b.getPatchSetId()));
       boolean excludeGranted = false;
       boolean excludePostSubmit = false;
       List<String> exclude = new ArrayList<>(1);
diff --git a/java/com/google/gerrit/server/notedb/ChangeNotes.java b/java/com/google/gerrit/server/notedb/ChangeNotes.java
index d257118..d2942dc 100644
--- a/java/com/google/gerrit/server/notedb/ChangeNotes.java
+++ b/java/com/google/gerrit/server/notedb/ChangeNotes.java
@@ -15,11 +15,11 @@
 package com.google.gerrit.server.notedb;
 
 import static com.google.common.base.Preconditions.checkArgument;
-import static com.google.common.base.Preconditions.checkNotNull;
 import static com.google.common.base.Preconditions.checkState;
 import static com.google.gerrit.reviewdb.client.RefNames.changeMetaRef;
 import static com.google.gerrit.server.notedb.NoteDbTable.CHANGES;
 import static java.util.Comparator.comparing;
+import static java.util.Objects.requireNonNull;
 
 import com.google.auto.value.AutoValue;
 import com.google.common.annotations.VisibleForTesting;
@@ -655,7 +655,8 @@
 
   public PatchSet getCurrentPatchSet() {
     PatchSet.Id psId = change.currentPatchSetId();
-    return checkNotNull(getPatchSets().get(psId), "missing current patch set %s", psId.get());
+    return requireNonNull(
+        getPatchSets().get(psId), () -> String.format("missing current patch set %s", psId.get()));
   }
 
   @VisibleForTesting
@@ -761,10 +762,10 @@
           // to the caller instead of throwing.
           logger.atFine().log("Rebuilding change %s failed: %s", getChangeId(), e.getMessage());
           args.metrics.autoRebuildFailureCount.increment(CHANGES);
-          rebuildResult = checkNotNull(r);
-          checkNotNull(r.newState());
-          checkNotNull(r.staged());
-          checkNotNull(r.staged().changeObjects());
+          rebuildResult = requireNonNull(r);
+          requireNonNull(r.newState());
+          requireNonNull(r.staged());
+          requireNonNull(r.staged().changeObjects());
           return LoadHandle.create(
               ChangeNotesCommit.newStagedRevWalk(repo, r.staged().changeObjects()),
               r.newState().getChangeMetaId());
diff --git a/java/com/google/gerrit/server/notedb/ChangeNotesState.java b/java/com/google/gerrit/server/notedb/ChangeNotesState.java
index c51aec3..ca579ae 100644
--- a/java/com/google/gerrit/server/notedb/ChangeNotesState.java
+++ b/java/com/google/gerrit/server/notedb/ChangeNotesState.java
@@ -15,7 +15,6 @@
 package com.google.gerrit.server.notedb;
 
 import static com.google.common.base.Preconditions.checkArgument;
-import static com.google.common.base.Preconditions.checkNotNull;
 import static com.google.common.base.Preconditions.checkState;
 import static com.google.common.collect.ImmutableList.toImmutableList;
 import static com.google.common.collect.ImmutableListMultimap.toImmutableListMultimap;
@@ -24,6 +23,7 @@
 import static com.google.gerrit.reviewdb.server.ReviewDbCodecs.MESSAGE_CODEC;
 import static com.google.gerrit.reviewdb.server.ReviewDbCodecs.PATCH_SET_CODEC;
 import static com.google.gerrit.server.cache.serialize.ProtoCacheSerializers.toByteString;
+import static java.util.Objects.requireNonNull;
 
 import com.google.auto.value.AutoValue;
 import com.google.common.annotations.VisibleForTesting;
@@ -123,11 +123,14 @@
       boolean workInProgress,
       boolean reviewStarted,
       @Nullable Change.Id revertOf) {
-    checkNotNull(
+    requireNonNull(
         metaId,
-        "metaId is required when passing arguments to create(...). To create an empty %s without"
-            + " NoteDb data, use empty(...) instead",
-        ChangeNotesState.class.getSimpleName());
+        () ->
+            String.format(
+                "metaId is required when passing arguments to create(...)."
+                    + " To create an empty %s without"
+                    + " NoteDb data, use empty(...) instead",
+                ChangeNotesState.class.getSimpleName()));
     return builder()
         .metaId(metaId)
         .changeId(changeId)
@@ -303,7 +306,7 @@
   abstract Timestamp readOnlyUntil();
 
   Change newChange(Project.NameKey project) {
-    ChangeColumns c = checkNotNull(columns(), "columns are required");
+    ChangeColumns c = requireNonNull(columns(), "columns are required");
     Change change =
         new Change(
             c.changeKey(),
@@ -351,7 +354,7 @@
   }
 
   private void copyNonConstructorColumnsTo(Change change) {
-    ChangeColumns c = checkNotNull(columns(), "columns are required");
+    ChangeColumns c = requireNonNull(columns(), "columns are required");
     if (c.status() != null) {
       change.setStatus(c.status());
     }
diff --git a/java/com/google/gerrit/server/notedb/ChangeUpdate.java b/java/com/google/gerrit/server/notedb/ChangeUpdate.java
index b60a332..0d9b962 100644
--- a/java/com/google/gerrit/server/notedb/ChangeUpdate.java
+++ b/java/com/google/gerrit/server/notedb/ChangeUpdate.java
@@ -16,7 +16,6 @@
 
 import static com.google.common.base.MoreObjects.firstNonNull;
 import static com.google.common.base.Preconditions.checkArgument;
-import static com.google.common.base.Preconditions.checkNotNull;
 import static com.google.common.base.Preconditions.checkState;
 import static com.google.gerrit.reviewdb.client.RefNames.changeMetaRef;
 import static com.google.gerrit.server.notedb.ChangeNoteUtil.FOOTER_ASSIGNEE;
@@ -42,6 +41,7 @@
 import static com.google.gerrit.server.notedb.ChangeNoteUtil.FOOTER_WORK_IN_PROGRESS;
 import static com.google.gerrit.server.notedb.NoteDbUtil.sanitizeFooter;
 import static java.util.Comparator.comparing;
+import static java.util.Objects.requireNonNull;
 import static org.eclipse.jgit.lib.Constants.OBJ_BLOB;
 
 import com.google.common.annotations.VisibleForTesting;
@@ -501,7 +501,7 @@
   }
 
   public void setGroups(List<String> groups) {
-    checkNotNull(groups, "groups may not be null");
+    requireNonNull(groups, "groups may not be null");
     this.groups = groups;
   }
 
diff --git a/java/com/google/gerrit/server/notedb/DraftCommentNotes.java b/java/com/google/gerrit/server/notedb/DraftCommentNotes.java
index 81d32d9..8acc8d4 100644
--- a/java/com/google/gerrit/server/notedb/DraftCommentNotes.java
+++ b/java/com/google/gerrit/server/notedb/DraftCommentNotes.java
@@ -15,9 +15,9 @@
 package com.google.gerrit.server.notedb;
 
 import static com.google.common.base.Preconditions.checkArgument;
-import static com.google.common.base.Preconditions.checkNotNull;
 import static com.google.gerrit.reviewdb.client.RefNames.refsDraftComments;
 import static com.google.gerrit.server.notedb.NoteDbTable.CHANGES;
+import static java.util.Objects.requireNonNull;
 
 import com.google.common.annotations.VisibleForTesting;
 import com.google.common.collect.ImmutableListMultimap;
@@ -184,7 +184,7 @@
   @Override
   protected LoadHandle openHandle(Repository repo) throws NoSuchChangeException, IOException {
     if (rebuildResult != null) {
-      StagedResult sr = checkNotNull(rebuildResult.staged());
+      StagedResult sr = requireNonNull(rebuildResult.staged());
       return LoadHandle.create(
           ChangeNotesCommit.newStagedRevWalk(repo, sr.allUsersObjects()),
           findNewId(sr.allUsersCommands(), getRefName()));
@@ -229,7 +229,7 @@
           logger.atFine().log(
               "Rebuilding change %s via drafts failed: %s", getChangeId(), e.getMessage());
           args.metrics.autoRebuildFailureCount.increment(CHANGES);
-          checkNotNull(r.staged());
+          requireNonNull(r.staged());
           return LoadHandle.create(
               ChangeNotesCommit.newStagedRevWalk(repo, r.staged().allUsersObjects()), draftsId(r));
         }
@@ -249,8 +249,8 @@
   }
 
   private ObjectId draftsId(NoteDbUpdateManager.Result r) {
-    checkNotNull(r);
-    checkNotNull(r.newState());
+    requireNonNull(r);
+    requireNonNull(r.newState());
     return r.newState().getDraftIds().get(author);
   }
 
diff --git a/java/com/google/gerrit/server/notedb/NoteDbChangeState.java b/java/com/google/gerrit/server/notedb/NoteDbChangeState.java
index a69128e..e6b82e6 100644
--- a/java/com/google/gerrit/server/notedb/NoteDbChangeState.java
+++ b/java/com/google/gerrit/server/notedb/NoteDbChangeState.java
@@ -15,12 +15,12 @@
 package com.google.gerrit.server.notedb;
 
 import static com.google.common.base.Preconditions.checkArgument;
-import static com.google.common.base.Preconditions.checkNotNull;
 import static com.google.common.base.Preconditions.checkState;
 import static com.google.gerrit.reviewdb.client.RefNames.changeMetaRef;
 import static com.google.gerrit.reviewdb.client.RefNames.refsDraftComments;
 import static com.google.gerrit.server.notedb.NoteDbChangeState.PrimaryStorage.NOTE_DB;
 import static com.google.gerrit.server.notedb.NoteDbChangeState.PrimaryStorage.REVIEW_DB;
+import static java.util.Objects.requireNonNull;
 
 import com.google.auto.value.AutoValue;
 import com.google.common.annotations.VisibleForTesting;
@@ -339,10 +339,10 @@
       PrimaryStorage primaryStorage,
       Optional<RefState> refState,
       Optional<Timestamp> readOnlyUntil) {
-    this.changeId = checkNotNull(changeId);
-    this.primaryStorage = checkNotNull(primaryStorage);
-    this.refState = checkNotNull(refState);
-    this.readOnlyUntil = checkNotNull(readOnlyUntil);
+    this.changeId = requireNonNull(changeId);
+    this.primaryStorage = requireNonNull(primaryStorage);
+    this.refState = requireNonNull(refState);
+    this.readOnlyUntil = requireNonNull(readOnlyUntil);
 
     switch (primaryStorage) {
       case REVIEW_DB:
diff --git a/java/com/google/gerrit/server/notedb/NoteDbUpdateManager.java b/java/com/google/gerrit/server/notedb/NoteDbUpdateManager.java
index fd25059..12448fb 100644
--- a/java/com/google/gerrit/server/notedb/NoteDbUpdateManager.java
+++ b/java/com/google/gerrit/server/notedb/NoteDbUpdateManager.java
@@ -16,10 +16,10 @@
 
 import static com.google.common.base.MoreObjects.firstNonNull;
 import static com.google.common.base.Preconditions.checkArgument;
-import static com.google.common.base.Preconditions.checkNotNull;
 import static com.google.common.base.Preconditions.checkState;
 import static com.google.gerrit.reviewdb.client.RefNames.REFS_DRAFT_COMMENTS;
 import static com.google.gerrit.server.notedb.NoteDbTable.CHANGES;
+import static java.util.Objects.requireNonNull;
 
 import com.google.auto.value.AutoValue;
 import com.google.common.collect.HashBasedTable;
@@ -186,7 +186,7 @@
           "expected reader to be created from %s, but was %s",
           ins,
           reader.getCreatedFromInserter());
-      this.repo = checkNotNull(repo);
+      this.repo = requireNonNull(repo);
 
       if (saveObjects) {
         this.inMemIns = new InMemoryInserter(rw.getObjectReader());
@@ -199,7 +199,7 @@
 
       this.rw = new RevWalk(tempIns.newReader());
       this.finalIns = ins;
-      this.cmds = checkNotNull(cmds);
+      this.cmds = requireNonNull(cmds);
       this.close = close;
       this.saveObjects = saveObjects;
     }
diff --git a/java/com/google/gerrit/server/notedb/RepoSequence.java b/java/com/google/gerrit/server/notedb/RepoSequence.java
index 47fec59..4c497ac 100644
--- a/java/com/google/gerrit/server/notedb/RepoSequence.java
+++ b/java/com/google/gerrit/server/notedb/RepoSequence.java
@@ -15,10 +15,10 @@
 package com.google.gerrit.server.notedb;
 
 import static com.google.common.base.Preconditions.checkArgument;
-import static com.google.common.base.Preconditions.checkNotNull;
 import static com.google.gerrit.reviewdb.client.RefNames.REFS;
 import static com.google.gerrit.reviewdb.client.RefNames.REFS_SEQUENCES;
 import static java.nio.charset.StandardCharsets.UTF_8;
+import static java.util.Objects.requireNonNull;
 import static org.eclipse.jgit.lib.Constants.OBJ_BLOB;
 
 import com.github.rholder.retry.RetryException;
@@ -167,9 +167,9 @@
       Runnable afterReadRef,
       Retryer<RefUpdate.Result> retryer,
       int floor) {
-    this.repoManager = checkNotNull(repoManager, "repoManager");
-    this.gitRefUpdated = checkNotNull(gitRefUpdated, "gitRefUpdated");
-    this.projectName = checkNotNull(projectName, "projectName");
+    this.repoManager = requireNonNull(repoManager, "repoManager");
+    this.gitRefUpdated = requireNonNull(gitRefUpdated, "gitRefUpdated");
+    this.projectName = requireNonNull(projectName, "projectName");
 
     checkArgument(
         name != null
@@ -179,13 +179,13 @@
         name);
     this.refName = RefNames.REFS_SEQUENCES + name;
 
-    this.seed = checkNotNull(seed, "seed");
+    this.seed = requireNonNull(seed, "seed");
     this.floor = floor;
 
     checkArgument(batchSize > 0, "expected batchSize > 0, got: %s", batchSize);
     this.batchSize = batchSize;
-    this.afterReadRef = checkNotNull(afterReadRef, "afterReadRef");
-    this.retryer = checkNotNull(retryer, "retryer");
+    this.afterReadRef = requireNonNull(afterReadRef, "afterReadRef");
+    this.retryer = requireNonNull(retryer, "retryer");
 
     counterLock = new ReentrantLock(true);
   }
diff --git a/java/com/google/gerrit/server/notedb/rebuild/ChangeRebuilderImpl.java b/java/com/google/gerrit/server/notedb/rebuild/ChangeRebuilderImpl.java
index 9fa1edc..8740710 100644
--- a/java/com/google/gerrit/server/notedb/rebuild/ChangeRebuilderImpl.java
+++ b/java/com/google/gerrit/server/notedb/rebuild/ChangeRebuilderImpl.java
@@ -15,11 +15,11 @@
 package com.google.gerrit.server.notedb.rebuild;
 
 import static com.google.common.base.MoreObjects.firstNonNull;
-import static com.google.common.base.Preconditions.checkNotNull;
 import static com.google.common.base.Preconditions.checkState;
 import static com.google.gerrit.reviewdb.client.RefNames.changeMetaRef;
 import static com.google.gerrit.server.notedb.ChangeNoteUtil.FOOTER_HASHTAGS;
 import static com.google.gerrit.server.notedb.ChangeNoteUtil.FOOTER_PATCH_SET;
+import static java.util.Objects.requireNonNull;
 import static java.util.concurrent.TimeUnit.SECONDS;
 import static java.util.stream.Collectors.toList;
 
@@ -235,7 +235,7 @@
               changeId, bundleReader.fromReviewDb(db, changeId)));
     }
     NoteDbChangeState newNoteDbState =
-        checkNotNull(NoteDbChangeState.parse(changeId, newNoteDbStateStr));
+        requireNonNull(NoteDbChangeState.parse(changeId, newNoteDbStateStr));
     try {
       db.changes()
           .atomicUpdate(
diff --git a/java/com/google/gerrit/server/notedb/rebuild/EventList.java b/java/com/google/gerrit/server/notedb/rebuild/EventList.java
index 773215e..e83814d 100644
--- a/java/com/google/gerrit/server/notedb/rebuild/EventList.java
+++ b/java/com/google/gerrit/server/notedb/rebuild/EventList.java
@@ -15,8 +15,8 @@
 package com.google.gerrit.server.notedb.rebuild;
 
 import static com.google.common.base.Preconditions.checkArgument;
-import static com.google.common.base.Preconditions.checkNotNull;
 import static com.google.common.base.Preconditions.checkState;
+import static java.util.Objects.requireNonNull;
 
 import com.google.common.collect.Lists;
 import com.google.gerrit.reviewdb.client.Account;
@@ -103,7 +103,7 @@
   }
 
   PatchSet.Id getPatchSetId() {
-    PatchSet.Id id = checkNotNull(get(0).psId);
+    PatchSet.Id id = requireNonNull(get(0).psId);
     for (int i = 1; i < size(); i++) {
       checkState(
           get(i).psId.equals(id), "mismatched patch sets in EventList: %s != %s", id, get(i).psId);
diff --git a/java/com/google/gerrit/server/notedb/rebuild/GcAllUsers.java b/java/com/google/gerrit/server/notedb/rebuild/GcAllUsers.java
index 6544b23..f2a5cc6 100644
--- a/java/com/google/gerrit/server/notedb/rebuild/GcAllUsers.java
+++ b/java/com/google/gerrit/server/notedb/rebuild/GcAllUsers.java
@@ -14,7 +14,7 @@
 
 package com.google.gerrit.server.notedb.rebuild;
 
-import static com.google.common.base.Preconditions.checkNotNull;
+import static java.util.Objects.requireNonNull;
 import static org.eclipse.jgit.lib.ConfigConstants.CONFIG_GC_SECTION;
 import static org.eclipse.jgit.lib.ConfigConstants.CONFIG_KEY_AUTO;
 
@@ -59,7 +59,7 @@
 
   public void run(PrintWriter writer) {
     // Print both log messages and progress to given writer.
-    run(checkNotNull(writer)::println, writer);
+    run(requireNonNull(writer)::println, writer);
   }
 
   private void run(Consumer<String> logOneLine, @Nullable PrintWriter progressWriter) {
diff --git a/java/com/google/gerrit/server/notedb/rebuild/NoteDbMigrator.java b/java/com/google/gerrit/server/notedb/rebuild/NoteDbMigrator.java
index 6a801ec..225926d 100644
--- a/java/com/google/gerrit/server/notedb/rebuild/NoteDbMigrator.java
+++ b/java/com/google/gerrit/server/notedb/rebuild/NoteDbMigrator.java
@@ -15,7 +15,6 @@
 package com.google.gerrit.server.notedb.rebuild;
 
 import static com.google.common.base.Preconditions.checkArgument;
-import static com.google.common.base.Preconditions.checkNotNull;
 import static com.google.common.base.Preconditions.checkState;
 import static com.google.gerrit.reviewdb.server.ReviewDbUtil.unwrapDb;
 import static com.google.gerrit.server.notedb.NotesMigration.SECTION_NOTE_DB;
@@ -26,6 +25,7 @@
 import static com.google.gerrit.server.notedb.NotesMigrationState.WRITE;
 import static java.nio.charset.StandardCharsets.UTF_8;
 import static java.util.Comparator.comparing;
+import static java.util.Objects.requireNonNull;
 import static java.util.stream.Collectors.joining;
 import static java.util.stream.Collectors.toList;
 
@@ -259,7 +259,7 @@
      * @return this.
      */
     public Builder setProgressOut(OutputStream progressOut) {
-      this.progressOut = checkNotNull(progressOut);
+      this.progressOut = requireNonNull(progressOut);
       return this;
     }
 
diff --git a/java/com/google/gerrit/server/patch/ComparisonType.java b/java/com/google/gerrit/server/patch/ComparisonType.java
index abbb680..260c507 100644
--- a/java/com/google/gerrit/server/patch/ComparisonType.java
+++ b/java/com/google/gerrit/server/patch/ComparisonType.java
@@ -14,9 +14,9 @@
 
 package com.google.gerrit.server.patch;
 
-import static com.google.common.base.Preconditions.checkNotNull;
 import static com.google.gerrit.server.ioutil.BasicSerialization.readVarInt32;
 import static com.google.gerrit.server.ioutil.BasicSerialization.writeVarInt32;
+import static java.util.Objects.requireNonNull;
 
 import java.io.IOException;
 import java.io.InputStream;
@@ -59,7 +59,7 @@
   }
 
   public int getParentNum() {
-    checkNotNull(parentNum);
+    requireNonNull(parentNum);
     return parentNum;
   }
 
diff --git a/java/com/google/gerrit/server/permissions/ChangePermission.java b/java/com/google/gerrit/server/permissions/ChangePermission.java
index ba1785d..ca1c460 100644
--- a/java/com/google/gerrit/server/permissions/ChangePermission.java
+++ b/java/com/google/gerrit/server/permissions/ChangePermission.java
@@ -14,7 +14,7 @@
 
 package com.google.gerrit.server.permissions;
 
-import static com.google.common.base.Preconditions.checkNotNull;
+import static java.util.Objects.requireNonNull;
 
 import com.google.gerrit.extensions.api.access.GerritPermission;
 
@@ -64,7 +64,7 @@
   }
 
   ChangePermission(String description) {
-    this.description = checkNotNull(description);
+    this.description = requireNonNull(description);
   }
 
   @Override
diff --git a/java/com/google/gerrit/server/permissions/DefaultPermissionBackend.java b/java/com/google/gerrit/server/permissions/DefaultPermissionBackend.java
index 8cf9444..406eda8 100644
--- a/java/com/google/gerrit/server/permissions/DefaultPermissionBackend.java
+++ b/java/com/google/gerrit/server/permissions/DefaultPermissionBackend.java
@@ -14,8 +14,8 @@
 
 package com.google.gerrit.server.permissions;
 
-import static com.google.common.base.Preconditions.checkNotNull;
 import static com.google.gerrit.server.permissions.DefaultPermissionMappings.globalPermissionName;
+import static java.util.Objects.requireNonNull;
 import static java.util.stream.Collectors.toSet;
 
 import com.google.common.collect.Sets;
@@ -79,12 +79,12 @@
 
   @Override
   public WithUser user(CurrentUser user) {
-    return new WithUserImpl(checkNotNull(user, "user"));
+    return new WithUserImpl(requireNonNull(user, "user"));
   }
 
   @Override
   public WithUser absentUser(Account.Id id) {
-    IdentifiedUser identifiedUser = identifiedUserFactory.create(checkNotNull(id, "user"));
+    IdentifiedUser identifiedUser = identifiedUserFactory.create(requireNonNull(id, "user"));
     return new WithUserImpl(identifiedUser);
   }
 
@@ -98,7 +98,7 @@
     private Boolean admin;
 
     WithUserImpl(CurrentUser user) {
-      this.user = checkNotNull(user, "user");
+      this.user = requireNonNull(user, "user");
     }
 
     @Override
@@ -238,7 +238,7 @@
     }
 
     private boolean has(String permissionName) {
-      boolean has = allow(capabilities().getPermission(checkNotNull(permissionName)));
+      boolean has = allow(capabilities().getPermission(requireNonNull(permissionName)));
       if (has) {
         logger.atFinest().log(
             "user %s has global capability %s", user.getLoggableName(), permissionName);
diff --git a/java/com/google/gerrit/server/permissions/DefaultPermissionMappings.java b/java/com/google/gerrit/server/permissions/DefaultPermissionMappings.java
index cee42ad..ece29df 100644
--- a/java/com/google/gerrit/server/permissions/DefaultPermissionMappings.java
+++ b/java/com/google/gerrit/server/permissions/DefaultPermissionMappings.java
@@ -14,8 +14,8 @@
 
 package com.google.gerrit.server.permissions;
 
-import static com.google.common.base.Preconditions.checkNotNull;
 import static com.google.common.base.Preconditions.checkState;
+import static java.util.Objects.requireNonNull;
 
 import com.google.common.collect.ImmutableBiMap;
 import com.google.common.collect.ImmutableMap;
@@ -110,7 +110,7 @@
   }
 
   public static String globalPermissionName(GlobalPermission globalPermission) {
-    return checkNotNull(CAPABILITIES.get(globalPermission));
+    return requireNonNull(CAPABILITIES.get(globalPermission));
   }
 
   public static Optional<GlobalPermission> globalPermission(String capabilityName) {
diff --git a/java/com/google/gerrit/server/permissions/DefaultRefFilter.java b/java/com/google/gerrit/server/permissions/DefaultRefFilter.java
index 49ab8fe..47be6e3 100644
--- a/java/com/google/gerrit/server/permissions/DefaultRefFilter.java
+++ b/java/com/google/gerrit/server/permissions/DefaultRefFilter.java
@@ -14,12 +14,12 @@
 
 package com.google.gerrit.server.permissions;
 
-import static com.google.common.base.Preconditions.checkNotNull;
 import static com.google.common.collect.ImmutableList.toImmutableList;
 import static com.google.gerrit.reviewdb.client.RefNames.REFS_CACHE_AUTOMERGE;
 import static com.google.gerrit.reviewdb.client.RefNames.REFS_CHANGES;
 import static com.google.gerrit.reviewdb.client.RefNames.REFS_CONFIG;
 import static com.google.gerrit.reviewdb.client.RefNames.REFS_USERS_SELF;
+import static java.util.Objects.requireNonNull;
 
 import com.google.common.collect.ImmutableSet;
 import com.google.common.collect.Maps;
@@ -417,7 +417,7 @@
 
   private boolean isGroupOwner(
       InternalGroup group, @Nullable IdentifiedUser user, boolean isAdmin) {
-    checkNotNull(group);
+    requireNonNull(group);
 
     // Keep this logic in sync with GroupControl#isOwner().
     return isAdmin
diff --git a/java/com/google/gerrit/server/permissions/LabelPermission.java b/java/com/google/gerrit/server/permissions/LabelPermission.java
index a80cc15..7cce9c4 100644
--- a/java/com/google/gerrit/server/permissions/LabelPermission.java
+++ b/java/com/google/gerrit/server/permissions/LabelPermission.java
@@ -14,9 +14,9 @@
 
 package com.google.gerrit.server.permissions;
 
-import static com.google.common.base.Preconditions.checkNotNull;
 import static com.google.gerrit.server.permissions.LabelPermission.ForUser.ON_BEHALF_OF;
 import static com.google.gerrit.server.permissions.LabelPermission.ForUser.SELF;
+import static java.util.Objects.requireNonNull;
 
 import com.google.gerrit.common.data.LabelType;
 import com.google.gerrit.common.data.LabelValue;
@@ -67,7 +67,7 @@
    * @param name name of the label, e.g. {@code "Code-Review"} or {@code "Verified"}.
    */
   public LabelPermission(ForUser forUser, String name) {
-    this.forUser = checkNotNull(forUser, "ForUser");
+    this.forUser = requireNonNull(forUser, "ForUser");
     this.name = LabelType.checkName(name);
   }
 
@@ -195,8 +195,8 @@
      * @param label label name and vote.
      */
     public WithValue(ForUser forUser, LabelVote label) {
-      this.forUser = checkNotNull(forUser, "ForUser");
-      this.label = checkNotNull(label, "LabelVote");
+      this.forUser = requireNonNull(forUser, "ForUser");
+      this.label = requireNonNull(label, "LabelVote");
     }
 
     /** @return {@code SELF} or {@code ON_BEHALF_OF} (or labelAs). */
diff --git a/java/com/google/gerrit/server/permissions/PermissionBackend.java b/java/com/google/gerrit/server/permissions/PermissionBackend.java
index 4719aa9..db3c961 100644
--- a/java/com/google/gerrit/server/permissions/PermissionBackend.java
+++ b/java/com/google/gerrit/server/permissions/PermissionBackend.java
@@ -14,7 +14,7 @@
 
 package com.google.gerrit.server.permissions;
 
-import static com.google.common.base.Preconditions.checkNotNull;
+import static java.util.Objects.requireNonNull;
 import static java.util.stream.Collectors.toSet;
 
 import com.google.auto.value.AutoValue;
@@ -162,7 +162,7 @@
     }
 
     public T database(ReviewDb db) {
-      return database(Providers.of(checkNotNull(db, "ReviewDb")));
+      return database(Providers.of(requireNonNull(db, "ReviewDb")));
     }
 
     @SuppressWarnings("unchecked")
@@ -266,8 +266,8 @@
      */
     public Set<Project.NameKey> filter(ProjectPermission perm, Collection<Project.NameKey> projects)
         throws PermissionBackendException {
-      checkNotNull(perm, "ProjectPermission");
-      checkNotNull(projects, "projects");
+      requireNonNull(perm, "ProjectPermission");
+      requireNonNull(projects, "projects");
       Set<Project.NameKey> allowed = Sets.newHashSetWithExpectedSize(projects.size());
       for (Project.NameKey project : projects) {
         try {
@@ -485,7 +485,7 @@
      * @throws PermissionBackendException if failure consulting backend configuration.
      */
     public Set<LabelPermission.WithValue> test(LabelType label) throws PermissionBackendException {
-      return test(valuesOf(checkNotNull(label, "LabelType")));
+      return test(valuesOf(requireNonNull(label, "LabelType")));
     }
 
     /**
@@ -497,7 +497,7 @@
      */
     public Set<LabelPermission.WithValue> testLabels(Collection<LabelType> types)
         throws PermissionBackendException {
-      checkNotNull(types, "LabelType");
+      requireNonNull(types, "LabelType");
       return test(types.stream().flatMap((t) -> valuesOf(t).stream()).collect(toSet()));
     }
 
diff --git a/java/com/google/gerrit/server/permissions/PermissionDeniedException.java b/java/com/google/gerrit/server/permissions/PermissionDeniedException.java
index 6018263..b9e86cd 100644
--- a/java/com/google/gerrit/server/permissions/PermissionDeniedException.java
+++ b/java/com/google/gerrit/server/permissions/PermissionDeniedException.java
@@ -14,7 +14,7 @@
 
 package com.google.gerrit.server.permissions;
 
-import static com.google.common.base.Preconditions.checkNotNull;
+import static java.util.Objects.requireNonNull;
 
 import com.google.gerrit.extensions.api.access.GerritPermission;
 import com.google.gerrit.extensions.restapi.AuthException;
@@ -33,7 +33,7 @@
   private final Optional<String> resource;
 
   public PermissionDeniedException(GerritPermission permission) {
-    super(MESSAGE_PREFIX + checkNotNull(permission).describeForException());
+    super(MESSAGE_PREFIX + requireNonNull(permission).describeForException());
     this.permission = permission;
     this.resource = Optional.empty();
   }
@@ -41,9 +41,9 @@
   public PermissionDeniedException(GerritPermission permission, String resource) {
     super(
         MESSAGE_PREFIX
-            + checkNotNull(permission).describeForException()
+            + requireNonNull(permission).describeForException()
             + " on "
-            + checkNotNull(resource));
+            + requireNonNull(resource));
     this.permission = permission;
     this.resource = Optional.of(resource);
   }
diff --git a/java/com/google/gerrit/server/permissions/ProjectPermission.java b/java/com/google/gerrit/server/permissions/ProjectPermission.java
index 7c58ccb..ca04f3b 100644
--- a/java/com/google/gerrit/server/permissions/ProjectPermission.java
+++ b/java/com/google/gerrit/server/permissions/ProjectPermission.java
@@ -14,7 +14,7 @@
 
 package com.google.gerrit.server.permissions;
 
-import static com.google.common.base.Preconditions.checkNotNull;
+import static java.util.Objects.requireNonNull;
 
 import com.google.gerrit.extensions.api.access.GerritPermission;
 import com.google.gerrit.reviewdb.client.RefNames;
@@ -108,7 +108,7 @@
   }
 
   ProjectPermission(String description) {
-    this.description = checkNotNull(description);
+    this.description = requireNonNull(description);
   }
 
   @Override
diff --git a/java/com/google/gerrit/server/permissions/RefPermission.java b/java/com/google/gerrit/server/permissions/RefPermission.java
index a9f2758..09eed24 100644
--- a/java/com/google/gerrit/server/permissions/RefPermission.java
+++ b/java/com/google/gerrit/server/permissions/RefPermission.java
@@ -14,7 +14,7 @@
 
 package com.google.gerrit.server.permissions;
 
-import static com.google.common.base.Preconditions.checkNotNull;
+import static java.util.Objects.requireNonNull;
 
 import com.google.gerrit.extensions.api.access.GerritPermission;
 
@@ -81,7 +81,7 @@
   }
 
   RefPermission(String description) {
-    this.description = checkNotNull(description);
+    this.description = requireNonNull(description);
   }
 
   @Override
diff --git a/java/com/google/gerrit/server/plugincontext/PluginContext.java b/java/com/google/gerrit/server/plugincontext/PluginContext.java
index 0f8a76e..70b23e3 100644
--- a/java/com/google/gerrit/server/plugincontext/PluginContext.java
+++ b/java/com/google/gerrit/server/plugincontext/PluginContext.java
@@ -14,7 +14,7 @@
 
 package com.google.gerrit.server.plugincontext;
 
-import static com.google.common.base.Preconditions.checkNotNull;
+import static java.util.Objects.requireNonNull;
 
 import com.google.common.base.Strings;
 import com.google.common.base.Throwables;
@@ -173,7 +173,7 @@
    * @return the created trace context
    */
   public static <T> TraceContext newTrace(Extension<T> extension) {
-    return TraceContext.open().addPluginTag(checkNotNull(extension).getPluginName());
+    return TraceContext.open().addPluginTag(requireNonNull(extension).getPluginName());
   }
 
   /**
diff --git a/java/com/google/gerrit/server/plugincontext/PluginMapEntryContext.java b/java/com/google/gerrit/server/plugincontext/PluginMapEntryContext.java
index a56c9c1..68589cf 100644
--- a/java/com/google/gerrit/server/plugincontext/PluginMapEntryContext.java
+++ b/java/com/google/gerrit/server/plugincontext/PluginMapEntryContext.java
@@ -14,7 +14,7 @@
 
 package com.google.gerrit.server.plugincontext;
 
-import static com.google.common.base.Preconditions.checkNotNull;
+import static java.util.Objects.requireNonNull;
 
 import com.google.gerrit.extensions.registration.DynamicMap;
 import com.google.gerrit.extensions.registration.Extension;
@@ -88,8 +88,8 @@
   private final PluginMetrics pluginMetrics;
 
   PluginMapEntryContext(Extension<T> extension, PluginMetrics pluginMetrics) {
-    checkNotNull(extension);
-    checkNotNull(extension.getExportName(), "export name must be set for plugin map entries");
+    requireNonNull(extension);
+    requireNonNull(extension.getExportName(), "export name must be set for plugin map entries");
     this.extension = extension;
     this.pluginMetrics = pluginMetrics;
   }
diff --git a/java/com/google/gerrit/server/plugincontext/PluginSetEntryContext.java b/java/com/google/gerrit/server/plugincontext/PluginSetEntryContext.java
index 8c381cc..afffbef 100644
--- a/java/com/google/gerrit/server/plugincontext/PluginSetEntryContext.java
+++ b/java/com/google/gerrit/server/plugincontext/PluginSetEntryContext.java
@@ -14,7 +14,7 @@
 
 package com.google.gerrit.server.plugincontext;
 
-import static com.google.common.base.Preconditions.checkNotNull;
+import static java.util.Objects.requireNonNull;
 
 import com.google.gerrit.extensions.registration.DynamicSet;
 import com.google.gerrit.extensions.registration.Extension;
@@ -85,7 +85,7 @@
   private final PluginMetrics pluginMetrics;
 
   PluginSetEntryContext(Extension<T> extension, PluginMetrics pluginMetrics) {
-    this.extension = checkNotNull(extension);
+    this.extension = requireNonNull(extension);
     this.pluginMetrics = pluginMetrics;
   }
 
diff --git a/java/com/google/gerrit/server/plugins/PluginGuiceEnvironment.java b/java/com/google/gerrit/server/plugins/PluginGuiceEnvironment.java
index 8bc04a3..ed9d2c7 100644
--- a/java/com/google/gerrit/server/plugins/PluginGuiceEnvironment.java
+++ b/java/com/google/gerrit/server/plugins/PluginGuiceEnvironment.java
@@ -14,10 +14,10 @@
 
 package com.google.gerrit.server.plugins;
 
-import static com.google.common.base.Preconditions.checkNotNull;
 import static com.google.gerrit.extensions.registration.PrivateInternals_DynamicTypes.dynamicItemsOf;
 import static com.google.gerrit.extensions.registration.PrivateInternals_DynamicTypes.dynamicMapsOf;
 import static com.google.gerrit.extensions.registration.PrivateInternals_DynamicTypes.dynamicSetsOf;
+import static java.util.Objects.requireNonNull;
 
 import com.google.common.collect.LinkedListMultimap;
 import com.google.common.collect.ListMultimap;
@@ -215,7 +215,7 @@
     // This supports older plugins that bound a plugin in the HttpModule.
     TypeLiteral<WebUiPlugin> key = TypeLiteral.get(WebUiPlugin.class);
     DynamicSet<?> web = sysSets.get(key);
-    checkNotNull(web, "DynamicSet<WebUiPlugin> exists in sysInjector");
+    requireNonNull(web, "DynamicSet<WebUiPlugin> exists in sysInjector");
 
     Map<TypeLiteral<?>, DynamicSet<?>> m = new HashMap<>(dynamicSetsOf(i));
     m.put(key, web);
diff --git a/java/com/google/gerrit/server/query/change/ChangeData.java b/java/com/google/gerrit/server/query/change/ChangeData.java
index 7fb0989..83d68db 100644
--- a/java/com/google/gerrit/server/query/change/ChangeData.java
+++ b/java/com/google/gerrit/server/query/change/ChangeData.java
@@ -14,8 +14,8 @@
 
 package com.google.gerrit.server.query.change;
 
-import static com.google.common.base.Preconditions.checkNotNull;
 import static com.google.gerrit.server.ApprovalsUtil.sortApprovals;
+import static java.util.Objects.requireNonNull;
 import static java.util.stream.Collectors.toList;
 import static java.util.stream.Collectors.toMap;
 
@@ -1030,7 +1030,7 @@
         return Collections.emptyMap();
       }
       editsByUser = new HashMap<>();
-      Change.Id id = checkNotNull(change.getId());
+      Change.Id id = requireNonNull(change.getId());
       try (Repository repo = repoManager.openRepository(project())) {
         for (Ref ref : repo.getRefDatabase().getRefsByPrefix(RefNames.REFS_USERS)) {
           String name = ref.getName().substring(RefNames.REFS_USERS.length());
@@ -1172,7 +1172,7 @@
       if (!lazyLoad) {
         return ImmutableMap.of();
       }
-      starRefs = checkNotNull(starredChangesUtil).byChange(legacyId);
+      starRefs = requireNonNull(starredChangesUtil).byChange(legacyId);
     }
     return starRefs;
   }
diff --git a/java/com/google/gerrit/server/query/change/ChangeStatusPredicate.java b/java/com/google/gerrit/server/query/change/ChangeStatusPredicate.java
index 155b016..8dc17d3 100644
--- a/java/com/google/gerrit/server/query/change/ChangeStatusPredicate.java
+++ b/java/com/google/gerrit/server/query/change/ChangeStatusPredicate.java
@@ -14,8 +14,8 @@
 
 package com.google.gerrit.server.query.change;
 
-import static com.google.common.base.Preconditions.checkNotNull;
 import static com.google.common.base.Preconditions.checkState;
+import static java.util.Objects.requireNonNull;
 
 import com.google.gerrit.common.Nullable;
 import com.google.gerrit.index.query.Predicate;
@@ -98,7 +98,7 @@
   }
 
   public static ChangeStatusPredicate forStatus(Change.Status status) {
-    return new ChangeStatusPredicate(checkNotNull(status));
+    return new ChangeStatusPredicate(requireNonNull(status));
   }
 
   @Nullable private final Change.Status status;
diff --git a/java/com/google/gerrit/server/restapi/change/DeleteChangeMessage.java b/java/com/google/gerrit/server/restapi/change/DeleteChangeMessage.java
index e2e892d..881d106 100644
--- a/java/com/google/gerrit/server/restapi/change/DeleteChangeMessage.java
+++ b/java/com/google/gerrit/server/restapi/change/DeleteChangeMessage.java
@@ -14,8 +14,8 @@
 
 package com.google.gerrit.server.restapi.change;
 
-import static com.google.common.base.Preconditions.checkNotNull;
 import static com.google.gerrit.server.ChangeMessagesUtil.createChangeMessageInfo;
+import static java.util.Objects.requireNonNull;
 
 import com.google.common.annotations.VisibleForTesting;
 import com.google.common.base.Strings;
@@ -120,7 +120,7 @@
 
   @VisibleForTesting
   public static String createNewChangeMessage(String deletedBy, @Nullable String deletedReason) {
-    checkNotNull(deletedBy, "user name must not be null");
+    requireNonNull(deletedBy, "user name must not be null");
 
     if (Strings.isNullOrEmpty(deletedReason)) {
       return createNewChangeMessage(deletedBy);
@@ -130,7 +130,7 @@
 
   @VisibleForTesting
   public static String createNewChangeMessage(String deletedBy) {
-    checkNotNull(deletedBy, "user name must not be null");
+    requireNonNull(deletedBy, "user name must not be null");
 
     return "Change message removed by: " + deletedBy;
   }
diff --git a/java/com/google/gerrit/server/restapi/change/DeleteVote.java b/java/com/google/gerrit/server/restapi/change/DeleteVote.java
index 78e776e..57649fad 100644
--- a/java/com/google/gerrit/server/restapi/change/DeleteVote.java
+++ b/java/com/google/gerrit/server/restapi/change/DeleteVote.java
@@ -14,7 +14,7 @@
 
 package com.google.gerrit.server.restapi.change;
 
-import static com.google.common.base.Preconditions.checkNotNull;
+import static java.util.Objects.requireNonNull;
 
 import com.google.common.flogger.FluentLogger;
 import com.google.gerrit.common.data.LabelTypes;
@@ -214,7 +214,7 @@
 
       StringBuilder msg = new StringBuilder();
       msg.append("Removed ");
-      LabelVote.appendTo(msg, label, checkNotNull(oldApprovals.get(label)));
+      LabelVote.appendTo(msg, label, requireNonNull(oldApprovals.get(label)));
       msg.append(" by ").append(userFactory.create(accountId).getNameEmail()).append("\n");
       changeMessage =
           ChangeMessagesUtil.newMessage(ctx, msg.toString(), ChangeMessagesUtil.TAG_DELETE_VOTE);
diff --git a/java/com/google/gerrit/server/restapi/change/PostReview.java b/java/com/google/gerrit/server/restapi/change/PostReview.java
index 8b5ed68..d06766d 100644
--- a/java/com/google/gerrit/server/restapi/change/PostReview.java
+++ b/java/com/google/gerrit/server/restapi/change/PostReview.java
@@ -15,12 +15,12 @@
 package com.google.gerrit.server.restapi.change;
 
 import static com.google.common.base.MoreObjects.firstNonNull;
-import static com.google.common.base.Preconditions.checkNotNull;
 import static com.google.common.base.Preconditions.checkState;
 import static com.google.gerrit.server.CommentsUtil.setCommentRevId;
 import static com.google.gerrit.server.notedb.ReviewerStateInternal.REVIEWER;
 import static com.google.gerrit.server.permissions.LabelPermission.ForUser.ON_BEHALF_OF;
 import static java.nio.charset.StandardCharsets.UTF_8;
+import static java.util.Objects.requireNonNull;
 import static java.util.stream.Collectors.groupingBy;
 import static java.util.stream.Collectors.joining;
 import static java.util.stream.Collectors.toList;
@@ -887,7 +887,7 @@
       this.projectState = projectState;
       this.psId = psId;
       this.in = in;
-      this.accountsToNotify = checkNotNull(accountsToNotify);
+      this.accountsToNotify = requireNonNull(accountsToNotify);
     }
 
     @Override
@@ -1187,7 +1187,7 @@
       ChangeUpdate update = ctx.getUpdate(psId);
       for (Map.Entry<String, Short> ent : allApprovals.entrySet()) {
         String name = ent.getKey();
-        LabelType lt = checkNotNull(labelTypes.byLabel(name), name);
+        LabelType lt = requireNonNull(labelTypes.byLabel(name), name);
 
         PatchSetApproval c = current.remove(lt.getName());
         String normName = lt.getName();
@@ -1274,7 +1274,7 @@
       List<String> disallowed = new ArrayList<>(labelTypes.getLabelTypes().size());
 
       for (PatchSetApproval psa : del) {
-        LabelType lt = checkNotNull(labelTypes.byLabel(psa.getLabel()));
+        LabelType lt = requireNonNull(labelTypes.byLabel(psa.getLabel()));
         String normName = lt.getName();
         if (!lt.allowPostSubmit()) {
           disallowed.add(normName);
@@ -1286,7 +1286,7 @@
       }
 
       for (PatchSetApproval psa : ups) {
-        LabelType lt = checkNotNull(labelTypes.byLabel(psa.getLabel()));
+        LabelType lt = requireNonNull(labelTypes.byLabel(psa.getLabel()));
         String normName = lt.getName();
         if (!lt.allowPostSubmit()) {
           disallowed.add(normName);
diff --git a/java/com/google/gerrit/server/restapi/change/RelatedChangesSorter.java b/java/com/google/gerrit/server/restapi/change/RelatedChangesSorter.java
index fbdfb54..51f70bd 100644
--- a/java/com/google/gerrit/server/restapi/change/RelatedChangesSorter.java
+++ b/java/com/google/gerrit/server/restapi/change/RelatedChangesSorter.java
@@ -15,7 +15,7 @@
 package com.google.gerrit.server.restapi.change;
 
 import static com.google.common.base.Preconditions.checkArgument;
-import static com.google.common.base.Preconditions.checkNotNull;
+import static java.util.Objects.requireNonNull;
 
 import com.google.auto.value.AutoValue;
 import com.google.common.annotations.VisibleForTesting;
@@ -95,7 +95,7 @@
 
     for (ChangeData cd : in) {
       for (PatchSet ps : cd.patchSets()) {
-        PatchSetData thisPsd = checkNotNull(byId.get(ps.getRevision().get()));
+        PatchSetData thisPsd = requireNonNull(byId.get(ps.getRevision().get()));
         if (cd.getId().equals(start.id()) && !ps.getId().equals(start.psId())) {
           otherPatchSetsOfStart.add(thisPsd);
         }
@@ -227,7 +227,7 @@
     // If we saw the same change multiple times, prefer the latest patch set.
     List<PatchSetData> result = new ArrayList<>(allPatchSets.size());
     for (PatchSetData psd : allPatchSets) {
-      if (checkNotNull(maxPatchSetIds.get(psd.id())).equals(psd.psId())) {
+      if (requireNonNull(maxPatchSetIds.get(psd.id())).equals(psd.psId())) {
         result.add(psd);
       }
     }
diff --git a/java/com/google/gerrit/server/restapi/project/CreateProject.java b/java/com/google/gerrit/server/restapi/project/CreateProject.java
index 09f8ab7..5620370 100644
--- a/java/com/google/gerrit/server/restapi/project/CreateProject.java
+++ b/java/com/google/gerrit/server/restapi/project/CreateProject.java
@@ -14,7 +14,7 @@
 
 package com.google.gerrit.server.restapi.project;
 
-import static com.google.common.base.Preconditions.checkNotNull;
+import static java.util.Objects.requireNonNull;
 
 import com.google.common.base.MoreObjects;
 import com.google.common.base.Strings;
@@ -225,7 +225,9 @@
       }
 
       ProjectState projectState = createProject(args);
-      checkNotNull(projectState, "failed to create project " + args.getProject().get());
+      requireNonNull(
+          projectState,
+          () -> String.format("failed to create project %s", args.getProject().get()));
 
       if (input.pluginConfigValues != null) {
         ConfigInput in = new ConfigInput();
diff --git a/java/com/google/gerrit/server/restapi/project/ListProjects.java b/java/com/google/gerrit/server/restapi/project/ListProjects.java
index 1fab368..e5f14064 100644
--- a/java/com/google/gerrit/server/restapi/project/ListProjects.java
+++ b/java/com/google/gerrit/server/restapi/project/ListProjects.java
@@ -14,9 +14,9 @@
 
 package com.google.gerrit.server.restapi.project;
 
-import static com.google.common.base.Preconditions.checkNotNull;
 import static com.google.gerrit.extensions.client.ProjectState.HIDDEN;
 import static java.nio.charset.StandardCharsets.UTF_8;
+import static java.util.Objects.requireNonNull;
 import static java.util.stream.Collectors.toList;
 
 import com.google.common.base.Strings;
@@ -517,7 +517,7 @@
     List<Project.NameKey> projectNameKeys = matches.sorted().collect(toList());
     for (Project.NameKey nameKey : projectNameKeys) {
       ProjectState state = projectCache.get(nameKey);
-      checkNotNull(state, "Failed to load project %s", nameKey);
+      requireNonNull(state, () -> String.format("Failed to load project %s", nameKey));
 
       // Hidden projects(permitsRead = false) should only be accessible by the project owners.
       // READ_CONFIG is checked here because it's only allowed to project owners(ACCESS may also
diff --git a/java/com/google/gerrit/server/restapi/project/SetParent.java b/java/com/google/gerrit/server/restapi/project/SetParent.java
index d4e67b1..ca7e7aa 100644
--- a/java/com/google/gerrit/server/restapi/project/SetParent.java
+++ b/java/com/google/gerrit/server/restapi/project/SetParent.java
@@ -14,7 +14,7 @@
 
 package com.google.gerrit.server.restapi.project;
 
-import static com.google.common.base.Preconditions.checkNotNull;
+import static java.util.Objects.requireNonNull;
 
 import com.google.common.base.MoreObjects;
 import com.google.common.base.Strings;
@@ -112,7 +112,7 @@
       cache.evict(rsrc.getProjectState().getProject());
 
       Project.NameKey parent = project.getParent(allProjects);
-      checkNotNull(parent);
+      requireNonNull(parent);
       return parent.get();
     } catch (RepositoryNotFoundException notFound) {
       throw new ResourceNotFoundException(rsrc.getName());
diff --git a/java/com/google/gerrit/server/schema/Schema_115.java b/java/com/google/gerrit/server/schema/Schema_115.java
index 66b5e1c..775255c 100644
--- a/java/com/google/gerrit/server/schema/Schema_115.java
+++ b/java/com/google/gerrit/server/schema/Schema_115.java
@@ -15,6 +15,7 @@
 package com.google.gerrit.server.schema;
 
 import static com.google.gerrit.server.config.ConfigUtil.storeSection;
+import static java.util.Objects.requireNonNull;
 
 import com.google.common.base.Preconditions;
 import com.google.common.base.Strings;
@@ -190,7 +191,7 @@
   }
 
   private static Whitespace toWhitespace(String v) {
-    Preconditions.checkNotNull(v);
+    requireNonNull(v);
     if (v.isEmpty()) {
       return Whitespace.IGNORE_NONE;
     }
diff --git a/java/com/google/gerrit/server/submit/CherryPick.java b/java/com/google/gerrit/server/submit/CherryPick.java
index 07ac532..182c22a 100644
--- a/java/com/google/gerrit/server/submit/CherryPick.java
+++ b/java/com/google/gerrit/server/submit/CherryPick.java
@@ -14,9 +14,9 @@
 
 package com.google.gerrit.server.submit;
 
-import static com.google.common.base.Preconditions.checkNotNull;
 import static com.google.gerrit.server.submit.CommitMergeStatus.EMPTY_COMMIT;
 import static com.google.gerrit.server.submit.CommitMergeStatus.SKIPPED_IDENTICAL_TREE;
+import static java.util.Objects.requireNonNull;
 
 import com.google.common.collect.ImmutableList;
 import com.google.gerrit.extensions.restapi.MergeConflictException;
@@ -151,10 +151,12 @@
       if (newCommit == null && toMerge.getStatusCode() == SKIPPED_IDENTICAL_TREE) {
         return null;
       }
-      checkNotNull(
+      requireNonNull(
           newCommit,
-          "no new commit produced by CherryPick of %s, expected to fail fast",
-          toMerge.change().getId());
+          () ->
+              String.format(
+                  "no new commit produced by CherryPick of %s, expected to fail fast",
+                  toMerge.change().getId()));
       PatchSet prevPs = args.psUtil.current(ctx.getDb(), ctx.getNotes());
       PatchSet newPs =
           args.psUtil.insert(
diff --git a/java/com/google/gerrit/server/submit/MergeOp.java b/java/com/google/gerrit/server/submit/MergeOp.java
index 31c4857..e27863f9 100644
--- a/java/com/google/gerrit/server/submit/MergeOp.java
+++ b/java/com/google/gerrit/server/submit/MergeOp.java
@@ -15,9 +15,9 @@
 package com.google.gerrit.server.submit;
 
 import static com.google.common.base.Preconditions.checkArgument;
-import static com.google.common.base.Preconditions.checkNotNull;
 import static com.google.common.base.Preconditions.checkState;
 import static java.util.Comparator.comparing;
+import static java.util.Objects.requireNonNull;
 import static java.util.stream.Collectors.toSet;
 
 import com.github.rholder.retry.Attempt;
@@ -182,8 +182,8 @@
       //
       // However, do NOT expose that ChangeData directly, as it is way out of
       // date by this point.
-      ChangeData cd = checkNotNull(changes.get(id), "ChangeData for %s", id);
-      return checkNotNull(
+      ChangeData cd = requireNonNull(changes.get(id), () -> String.format("ChangeData for %s", id));
+      return requireNonNull(
           cd.getSubmitRecords(submitRuleOptions(allowClosed)),
           "getSubmitRecord only valid after submit rules are evalutated");
     }
@@ -663,10 +663,9 @@
         BranchBatch submitting = toSubmit.get(branch);
         logger.atFine().log("adding ops for branch batch %s", submitting);
         OpenBranch ob = or.getBranch(branch);
-        checkNotNull(
+        requireNonNull(
             submitting.submitType(),
-            "null submit type for %s; expected to previously fail fast",
-            submitting);
+            String.format("null submit type for %s; expected to previously fail fast", submitting));
         Set<CodeReviewCommit> commitsToSubmit = submitting.commits();
         ob.mergeTip = new MergeTip(ob.oldTip, commitsToSubmit);
         SubmitStrategy strategy =
diff --git a/java/com/google/gerrit/server/submit/MergeSuperSet.java b/java/com/google/gerrit/server/submit/MergeSuperSet.java
index dc8b51a..7a600a1 100644
--- a/java/com/google/gerrit/server/submit/MergeSuperSet.java
+++ b/java/com/google/gerrit/server/submit/MergeSuperSet.java
@@ -14,8 +14,8 @@
 
 package com.google.gerrit.server.submit;
 
-import static com.google.common.base.Preconditions.checkNotNull;
 import static com.google.common.base.Preconditions.checkState;
+import static java.util.Objects.requireNonNull;
 
 import com.google.common.base.Strings;
 import com.google.common.collect.Iterables;
@@ -88,7 +88,7 @@
 
   public MergeSuperSet setMergeOpRepoManager(MergeOpRepoManager orm) {
     checkState(this.orm == null);
-    this.orm = checkNotNull(orm);
+    this.orm = requireNonNull(orm);
     closeOrm = false;
     return this;
   }
diff --git a/java/com/google/gerrit/server/submit/SubmitStrategy.java b/java/com/google/gerrit/server/submit/SubmitStrategy.java
index 2b45cd9d..4cefd7d 100644
--- a/java/com/google/gerrit/server/submit/SubmitStrategy.java
+++ b/java/com/google/gerrit/server/submit/SubmitStrategy.java
@@ -14,7 +14,7 @@
 
 package com.google.gerrit.server.submit;
 
-import static com.google.common.base.Preconditions.checkNotNull;
+import static java.util.Objects.requireNonNull;
 
 import com.google.common.collect.ListMultimap;
 import com.google.common.collect.Sets;
@@ -200,10 +200,9 @@
       this.dryrun = dryrun;
 
       this.project =
-          checkNotNull(
+          requireNonNull(
               projectCache.get(destBranch.getParentKey()),
-              "project not found: %s",
-              destBranch.getParentKey());
+              () -> String.format("project not found: %s", destBranch.getParentKey()));
       this.mergeSorter =
           new MergeSorter(rw, alreadyAccepted, canMergeFlag, queryProvider, incoming);
       this.rebaseSorter =
@@ -217,7 +216,7 @@
   final Arguments args;
 
   SubmitStrategy(Arguments args) {
-    this.args = checkNotNull(args);
+    this.args = requireNonNull(args);
   }
 
   /**
diff --git a/java/com/google/gerrit/server/submit/SubmitStrategyOp.java b/java/com/google/gerrit/server/submit/SubmitStrategyOp.java
index 98c669f..8a4fbfb 100644
--- a/java/com/google/gerrit/server/submit/SubmitStrategyOp.java
+++ b/java/com/google/gerrit/server/submit/SubmitStrategyOp.java
@@ -15,9 +15,9 @@
 package com.google.gerrit.server.submit;
 
 import static com.google.common.base.MoreObjects.firstNonNull;
-import static com.google.common.base.Preconditions.checkNotNull;
 import static com.google.common.base.Preconditions.checkState;
 import static com.google.gerrit.server.notedb.ReviewerStateInternal.REVIEWER;
+import static java.util.Objects.requireNonNull;
 
 import com.google.common.base.Function;
 import com.google.common.collect.Iterables;
@@ -238,8 +238,8 @@
       mergedPatchSet = getOrCreateAlreadyMergedPatchSet(ctx);
     } else {
       PatchSet newPatchSet = updateChangeImpl(ctx);
-      PatchSet.Id oldPsId = checkNotNull(toMerge.getPatchsetId());
-      PatchSet.Id newPsId = checkNotNull(ctx.getChange().currentPatchSetId());
+      PatchSet.Id oldPsId = requireNonNull(toMerge.getPatchsetId());
+      PatchSet.Id newPsId = requireNonNull(ctx.getChange().currentPatchSetId());
       if (newPatchSet == null) {
         checkState(
             oldPsId.equals(newPsId),
@@ -250,10 +250,9 @@
         // Ok to use stale notes to get the old patch set, which didn't change
         // during the submit strategy.
         mergedPatchSet =
-            checkNotNull(
+            requireNonNull(
                 args.psUtil.get(ctx.getDb(), ctx.getNotes(), oldPsId),
-                "missing old patch set %s",
-                oldPsId);
+                () -> String.format("missing old patch set %s", oldPsId));
       } else {
         PatchSet.Id n = newPatchSet.getId();
         checkState(
@@ -270,9 +269,11 @@
     Change c = ctx.getChange();
     Change.Id id = c.getId();
     CodeReviewCommit commit = args.commitStatus.get(id);
-    checkNotNull(commit, "missing commit for change " + id);
+    requireNonNull(commit, () -> String.format("missing commit for change %s", id));
     CommitMergeStatus s = commit.getStatusCode();
-    checkNotNull(s, "status not set for change " + id + " expected to previously fail fast");
+    requireNonNull(
+        s,
+        () -> String.format("status not set for change %s; expected to previously fail fast", id));
     logger.atFine().log("Status of change %s (%s) on %s: %s", id, commit.name(), c.getDest(), s);
     setApproval(ctx, args.caller);
 
@@ -426,7 +427,7 @@
   }
 
   private String getByAccountName() {
-    checkNotNull(submitter, "getByAccountName called before submitter populated");
+    requireNonNull(submitter, "getByAccountName called before submitter populated");
     Optional<Account> account =
         args.accountCache.get(submitter.getAccountId()).map(AccountState::getAccount);
     if (account.isPresent() && account.get().getFullName() != null) {
@@ -437,7 +438,7 @@
 
   private ChangeMessage message(ChangeContext ctx, CodeReviewCommit commit, CommitMergeStatus s)
       throws OrmException {
-    checkNotNull(s, "CommitMergeStatus may not be null");
+    requireNonNull(s, "CommitMergeStatus may not be null");
     String txt = s.getDescription();
     if (s == CommitMergeStatus.CLEAN_MERGE) {
       return message(ctx, commit.getPatchsetId(), txt + getByAccountName());
diff --git a/java/com/google/gerrit/server/update/BatchUpdate.java b/java/com/google/gerrit/server/update/BatchUpdate.java
index 7cf4f19..b3472d2 100644
--- a/java/com/google/gerrit/server/update/BatchUpdate.java
+++ b/java/com/google/gerrit/server/update/BatchUpdate.java
@@ -15,9 +15,9 @@
 package com.google.gerrit.server.update;
 
 import static com.google.common.base.Preconditions.checkArgument;
-import static com.google.common.base.Preconditions.checkNotNull;
 import static com.google.common.base.Preconditions.checkState;
 import static com.google.common.collect.ImmutableMultiset.toImmutableMultiset;
+import static java.util.Objects.requireNonNull;
 
 import com.google.common.base.Throwables;
 import com.google.common.collect.ImmutableList;
@@ -128,7 +128,7 @@
     public void execute(
         Collection<BatchUpdate> updates, BatchUpdateListener listener, boolean dryRun)
         throws UpdateException, RestApiException {
-      checkNotNull(listener);
+      requireNonNull(listener);
       checkDifferentProject(updates);
       // It's safe to downcast all members of the input collection in this case, because the only
       // way a caller could have gotten any BatchUpdates in the first place is to call the create
@@ -340,7 +340,7 @@
 
   public BatchUpdate addOp(Change.Id id, BatchUpdateOp op) {
     checkArgument(!(op instanceof InsertChangeOp), "use insertChange");
-    checkNotNull(op);
+    requireNonNull(op);
     ops.put(id, op);
     return this;
   }
diff --git a/java/com/google/gerrit/server/update/ChainedReceiveCommands.java b/java/com/google/gerrit/server/update/ChainedReceiveCommands.java
index f5f8b1d..c223aec 100644
--- a/java/com/google/gerrit/server/update/ChainedReceiveCommands.java
+++ b/java/com/google/gerrit/server/update/ChainedReceiveCommands.java
@@ -15,7 +15,7 @@
 package com.google.gerrit.server.update;
 
 import static com.google.common.base.Preconditions.checkArgument;
-import static com.google.common.base.Preconditions.checkNotNull;
+import static java.util.Objects.requireNonNull;
 
 import com.google.gerrit.server.git.RefCache;
 import com.google.gerrit.server.git.RepoRefCache;
@@ -45,7 +45,7 @@
   }
 
   public ChainedReceiveCommands(RepoRefCache refCache) {
-    this.refCache = checkNotNull(refCache);
+    this.refCache = requireNonNull(refCache);
   }
 
   public RepoRefCache getRepoRefCache() {
diff --git a/java/com/google/gerrit/server/update/ChangeContext.java b/java/com/google/gerrit/server/update/ChangeContext.java
index f017580..7b5ef0e 100644
--- a/java/com/google/gerrit/server/update/ChangeContext.java
+++ b/java/com/google/gerrit/server/update/ChangeContext.java
@@ -14,7 +14,7 @@
 
 package com.google.gerrit.server.update;
 
-import static com.google.common.base.Preconditions.checkNotNull;
+import static java.util.Objects.requireNonNull;
 
 import com.google.gerrit.reviewdb.client.Change;
 import com.google.gerrit.reviewdb.client.PatchSet;
@@ -71,6 +71,6 @@
 
   /** @return change corresponding to {@link #getNotes()}. */
   default Change getChange() {
-    return checkNotNull(getNotes().getChange());
+    return requireNonNull(getNotes().getChange());
   }
 }
diff --git a/java/com/google/gerrit/server/update/Context.java b/java/com/google/gerrit/server/update/Context.java
index b22968a7..ffb0392 100644
--- a/java/com/google/gerrit/server/update/Context.java
+++ b/java/com/google/gerrit/server/update/Context.java
@@ -14,7 +14,7 @@
 
 package com.google.gerrit.server.update;
 
-import static com.google.common.base.Preconditions.checkNotNull;
+import static java.util.Objects.requireNonNull;
 
 import com.google.gerrit.reviewdb.client.Account;
 import com.google.gerrit.reviewdb.client.Project;
@@ -112,7 +112,7 @@
    * @return user.
    */
   default IdentifiedUser getIdentifiedUser() {
-    return checkNotNull(getUser()).asIdentifiedUser();
+    return requireNonNull(getUser()).asIdentifiedUser();
   }
 
   /**
diff --git a/java/com/google/gerrit/server/update/NoteDbBatchUpdate.java b/java/com/google/gerrit/server/update/NoteDbBatchUpdate.java
index 729566a..d881b0f 100644
--- a/java/com/google/gerrit/server/update/NoteDbBatchUpdate.java
+++ b/java/com/google/gerrit/server/update/NoteDbBatchUpdate.java
@@ -15,10 +15,10 @@
 package com.google.gerrit.server.update;
 
 import static com.google.common.base.Preconditions.checkArgument;
-import static com.google.common.base.Preconditions.checkNotNull;
 import static com.google.common.base.Preconditions.checkState;
 import static com.google.common.flogger.LazyArgs.lazy;
 import static java.util.Comparator.comparing;
+import static java.util.Objects.requireNonNull;
 import static java.util.stream.Collectors.toSet;
 
 import com.google.common.base.Throwables;
@@ -216,7 +216,7 @@
     private boolean deleted;
 
     protected ChangeContextImpl(ChangeNotes notes) {
-      this.notes = checkNotNull(notes);
+      this.notes = requireNonNull(notes);
       updates = new TreeMap<>(comparing(PatchSet.Id::get));
     }
 
diff --git a/java/com/google/gerrit/server/update/RepoView.java b/java/com/google/gerrit/server/update/RepoView.java
index 62cf6b1..6b1ffa5 100644
--- a/java/com/google/gerrit/server/update/RepoView.java
+++ b/java/com/google/gerrit/server/update/RepoView.java
@@ -15,7 +15,7 @@
 package com.google.gerrit.server.update;
 
 import static com.google.common.base.Preconditions.checkArgument;
-import static com.google.common.base.Preconditions.checkNotNull;
+import static java.util.Objects.requireNonNull;
 import static java.util.stream.Collectors.toMap;
 
 import com.google.gerrit.reviewdb.client.Project;
@@ -66,9 +66,9 @@
         "expected RevWalk %s to be created by ObjectInserter %s",
         rw,
         inserter);
-    this.repo = checkNotNull(repo);
-    this.rw = checkNotNull(rw);
-    this.inserter = checkNotNull(inserter);
+    this.repo = requireNonNull(repo);
+    this.rw = requireNonNull(rw);
+    this.inserter = requireNonNull(inserter);
     inserterWrapper = new NonFlushingInserter(inserter);
     commands = new ChainedReceiveCommands(repo);
     closeRepo = false;
diff --git a/java/com/google/gerrit/server/update/ReviewDbBatchUpdate.java b/java/com/google/gerrit/server/update/ReviewDbBatchUpdate.java
index df50bd5..c06447d 100644
--- a/java/com/google/gerrit/server/update/ReviewDbBatchUpdate.java
+++ b/java/com/google/gerrit/server/update/ReviewDbBatchUpdate.java
@@ -14,9 +14,9 @@
 
 package com.google.gerrit.server.update;
 
-import static com.google.common.base.Preconditions.checkNotNull;
 import static com.google.common.base.Preconditions.checkState;
 import static java.util.Comparator.comparing;
+import static java.util.Objects.requireNonNull;
 import static java.util.concurrent.TimeUnit.NANOSECONDS;
 import static java.util.stream.Collectors.toList;
 
@@ -174,7 +174,7 @@
 
     protected ChangeContextImpl(
         ChangeNotes notes, ReviewDbWrapper dbWrapper, Repository repo, RevWalk rw) {
-      this.notes = checkNotNull(notes);
+      this.notes = requireNonNull(notes);
       this.dbWrapper = dbWrapper;
       this.threadLocalRepo = repo;
       this.threadLocalRevWalk = rw;
@@ -183,7 +183,7 @@
 
     @Override
     public ReviewDb getDb() {
-      checkNotNull(dbWrapper);
+      requireNonNull(dbWrapper);
       return dbWrapper;
     }
 
diff --git a/java/com/google/gerrit/server/util/RequestScopePropagator.java b/java/com/google/gerrit/server/util/RequestScopePropagator.java
index 9c83549..e5b0eaf 100644
--- a/java/com/google/gerrit/server/util/RequestScopePropagator.java
+++ b/java/com/google/gerrit/server/util/RequestScopePropagator.java
@@ -14,7 +14,7 @@
 
 package com.google.gerrit.server.util;
 
-import static com.google.common.base.Preconditions.checkNotNull;
+import static java.util.Objects.requireNonNull;
 
 import com.google.common.base.Throwables;
 import com.google.gerrit.reviewdb.client.Project;
@@ -83,7 +83,7 @@
    */
   @SuppressWarnings("javadoc") // See GuiceRequestScopePropagator#wrapImpl
   public final <T> Callable<T> wrap(Callable<T> callable) {
-    final RequestContext callerContext = checkNotNull(local.getContext());
+    final RequestContext callerContext = requireNonNull(local.getContext());
     final Callable<T> wrapped = wrapImpl(context(callerContext, cleanup(callable)));
     return new Callable<T>() {
       @Override
diff --git a/java/com/google/gerrit/sshd/commands/UploadArchive.java b/java/com/google/gerrit/sshd/commands/UploadArchive.java
index e5fef71..ac914a5 100644
--- a/java/com/google/gerrit/sshd/commands/UploadArchive.java
+++ b/java/com/google/gerrit/sshd/commands/UploadArchive.java
@@ -14,8 +14,8 @@
 
 package com.google.gerrit.sshd.commands;
 
-import static com.google.common.base.Preconditions.checkNotNull;
 import static java.nio.charset.StandardCharsets.UTF_8;
+import static java.util.Objects.requireNonNull;
 
 import com.google.common.base.Splitter;
 import com.google.common.collect.ImmutableMap;
@@ -246,7 +246,7 @@
 
   private boolean canRead(ObjectId revId) throws IOException, PermissionBackendException {
     ProjectState projectState = projectCache.get(projectName);
-    checkNotNull(projectState, "Failed to load project %s", projectName);
+    requireNonNull(projectState, () -> String.format("Failed to load project %s", projectName));
 
     if (!projectState.statePermitsRead()) {
       return false;
diff --git a/javatests/com/google/gerrit/acceptance/api/accounts/AccountIT.java b/javatests/com/google/gerrit/acceptance/api/accounts/AccountIT.java
index c0c8709..f04cefc 100644
--- a/javatests/com/google/gerrit/acceptance/api/accounts/AccountIT.java
+++ b/javatests/com/google/gerrit/acceptance/api/accounts/AccountIT.java
@@ -14,7 +14,6 @@
 
 package com.google.gerrit.acceptance.api.accounts;
 
-import static com.google.common.base.Preconditions.checkNotNull;
 import static com.google.common.collect.ImmutableList.toImmutableList;
 import static com.google.common.truth.Truth.assertThat;
 import static com.google.common.truth.Truth.assertWithMessage;
@@ -34,6 +33,7 @@
 import static com.google.gerrit.server.group.SystemGroupBackend.ANONYMOUS_USERS;
 import static com.google.gerrit.server.group.SystemGroupBackend.REGISTERED_USERS;
 import static java.nio.charset.StandardCharsets.UTF_8;
+import static java.util.Objects.requireNonNull;
 import static java.util.concurrent.TimeUnit.SECONDS;
 import static java.util.stream.Collectors.toSet;
 import static org.eclipse.jgit.lib.Constants.OBJ_BLOB;
@@ -2848,7 +2848,7 @@
   }
 
   private void addExternalIdEmail(TestAccount account, String email) throws Exception {
-    checkNotNull(email);
+    requireNonNull(email);
     accountsUpdateProvider
         .get()
         .update(
diff --git a/javatests/com/google/gerrit/acceptance/rest/change/HashtagsIT.java b/javatests/com/google/gerrit/acceptance/rest/change/HashtagsIT.java
index 48a1a1e..864f08d 100644
--- a/javatests/com/google/gerrit/acceptance/rest/change/HashtagsIT.java
+++ b/javatests/com/google/gerrit/acceptance/rest/change/HashtagsIT.java
@@ -14,10 +14,10 @@
 
 package com.google.gerrit.acceptance.rest.change;
 
-import static com.google.common.base.Preconditions.checkNotNull;
 import static com.google.common.truth.Truth.assertThat;
 import static com.google.common.truth.TruthJUnit.assume;
 import static com.google.gerrit.server.group.SystemGroupBackend.REGISTERED_USERS;
+import static java.util.Objects.requireNonNull;
 import static java.util.concurrent.TimeUnit.SECONDS;
 
 import com.google.common.collect.Iterables;
@@ -298,7 +298,7 @@
 
   private void assertNoNewMessageSince(PushOneCommit.Result r, ChangeMessageInfo expected)
       throws Exception {
-    checkNotNull(expected);
+    requireNonNull(expected);
     ChangeMessageInfo last = getLastMessage(r);
     assertThat(last.message).isEqualTo(expected.message);
     assertThat(last.id).isEqualTo(expected.id);
diff --git a/javatests/com/google/gerrit/acceptance/server/change/ConsistencyCheckerIT.java b/javatests/com/google/gerrit/acceptance/server/change/ConsistencyCheckerIT.java
index 5c3a703..2af90a8 100644
--- a/javatests/com/google/gerrit/acceptance/server/change/ConsistencyCheckerIT.java
+++ b/javatests/com/google/gerrit/acceptance/server/change/ConsistencyCheckerIT.java
@@ -14,13 +14,13 @@
 
 package com.google.gerrit.acceptance.server.change;
 
-import static com.google.common.base.Preconditions.checkNotNull;
 import static com.google.common.truth.Truth.assertThat;
 import static com.google.common.truth.TruthJUnit.assume;
 import static com.google.gerrit.extensions.common.ProblemInfo.Status.FIXED;
 import static com.google.gerrit.extensions.common.ProblemInfo.Status.FIX_FAILED;
 import static com.google.gerrit.testing.TestChanges.newPatchSet;
 import static java.util.Collections.singleton;
+import static java.util.Objects.requireNonNull;
 
 import com.google.gerrit.acceptance.AbstractDaemonTest;
 import com.google.gerrit.acceptance.NoHttpd;
@@ -953,8 +953,8 @@
 
   private static ProblemInfo problem(String message, ProblemInfo.Status status, String outcome) {
     ProblemInfo p = problem(message);
-    p.status = checkNotNull(status);
-    p.outcome = checkNotNull(outcome);
+    p.status = requireNonNull(status);
+    p.outcome = requireNonNull(outcome);
     return p;
   }
 
diff --git a/javatests/com/google/gerrit/util/http/testutil/FakeHttpServletRequest.java b/javatests/com/google/gerrit/util/http/testutil/FakeHttpServletRequest.java
index 56734ff..a4175e3 100644
--- a/javatests/com/google/gerrit/util/http/testutil/FakeHttpServletRequest.java
+++ b/javatests/com/google/gerrit/util/http/testutil/FakeHttpServletRequest.java
@@ -15,8 +15,8 @@
 package com.google.gerrit.util.http.testutil;
 
 import static com.google.common.base.Preconditions.checkArgument;
-import static com.google.common.base.Preconditions.checkNotNull;
 import static java.nio.charset.StandardCharsets.UTF_8;
+import static java.util.Objects.requireNonNull;
 
 import com.google.common.base.Splitter;
 import com.google.common.base.Strings;
@@ -72,11 +72,11 @@
   }
 
   public FakeHttpServletRequest(String hostName, int port, String contextPath, String servletPath) {
-    this.hostName = checkNotNull(hostName, "hostName");
+    this.hostName = requireNonNull(hostName, "hostName");
     checkArgument(port > 0);
     this.port = port;
-    this.contextPath = checkNotNull(contextPath, "contextPath");
-    this.servletPath = checkNotNull(servletPath, "servletPath");
+    this.contextPath = requireNonNull(contextPath, "contextPath");
+    this.servletPath = requireNonNull(servletPath, "servletPath");
     attributes = Maps.newConcurrentMap();
     parameters = LinkedListMultimap.create();
     headers = LinkedListMultimap.create();
diff --git a/javatests/com/google/gerrit/util/http/testutil/FakeHttpServletResponse.java b/javatests/com/google/gerrit/util/http/testutil/FakeHttpServletResponse.java
index f6b3e30..9a98ecd 100644
--- a/javatests/com/google/gerrit/util/http/testutil/FakeHttpServletResponse.java
+++ b/javatests/com/google/gerrit/util/http/testutil/FakeHttpServletResponse.java
@@ -15,9 +15,9 @@
 package com.google.gerrit.util.http.testutil;
 
 import static com.google.common.base.Preconditions.checkArgument;
-import static com.google.common.base.Preconditions.checkNotNull;
 import static com.google.common.base.Preconditions.checkState;
 import static java.nio.charset.StandardCharsets.UTF_8;
+import static java.util.Objects.requireNonNull;
 
 import com.google.common.collect.Iterables;
 import com.google.common.collect.LinkedListMultimap;
@@ -262,7 +262,7 @@
 
   @Override
   public String getHeader(String name) {
-    return Iterables.getFirst(headers.get(checkNotNull(name.toLowerCase())), null);
+    return Iterables.getFirst(headers.get(requireNonNull(name.toLowerCase())), null);
   }
 
   @Override
@@ -272,7 +272,7 @@
 
   @Override
   public Collection<String> getHeaders(String name) {
-    return headers.get(checkNotNull(name.toLowerCase()));
+    return headers.get(requireNonNull(name.toLowerCase()));
   }
 
   public byte[] getActualBody() {