diff --git a/java/com/google/gerrit/server/restapi/change/RelatedChangesSorter.java b/java/com/google/gerrit/server/restapi/change/RelatedChangesSorter.java index 8040847e72..af65483f0b 100644 --- a/java/com/google/gerrit/server/restapi/change/RelatedChangesSorter.java +++ b/java/com/google/gerrit/server/restapi/change/RelatedChangesSorter.java @@ -16,6 +16,7 @@ package com.google.gerrit.server.restapi.change; import static com.google.common.base.Preconditions.checkArgument; import static java.util.Objects.requireNonNull; +import static java.util.stream.Collectors.toMap; import com.google.auto.value.AutoValue; import com.google.common.annotations.VisibleForTesting; @@ -76,7 +77,15 @@ class RelatedChangesSorter { // Map of all patch sets, keyed by commit SHA-1. Map byId = collectById(in); PatchSetData start = byId.get(startPs.commitId()); - checkArgument(start != null, "%s not found in %s", startPs, in); + requireNonNull( + start, + () -> + String.format( + "commit %s of patch set %s not found in %s", + startPs.commitId().name(), + startPs.id(), + byId.entrySet().stream() + .collect(toMap(e -> e.getKey().name(), e -> e.getValue().patchSet().id())))); // Map of patch set -> immediate parent. ListMultimap parents =