diff --git a/BUILD b/BUILD
index 65d4548..d5c6ca1 100644
--- a/BUILD
+++ b/BUILD
@@ -23,6 +23,7 @@
     resource_strip_prefix = "plugins/code-owners/resources",
     resources = glob(["resources/**/*"]),
     deps = [
+        "//lib/errorprone:annotations",
         "//plugins/code-owners/java/com/google/gerrit/plugins/codeowners/api/impl",
         "//plugins/code-owners/java/com/google/gerrit/plugins/codeowners/backend",
         "//plugins/code-owners/java/com/google/gerrit/plugins/codeowners/common",
diff --git a/java/com/google/gerrit/plugins/codeowners/acceptance/BUILD b/java/com/google/gerrit/plugins/codeowners/acceptance/BUILD
index 65883e0..c382db0 100644
--- a/java/com/google/gerrit/plugins/codeowners/acceptance/BUILD
+++ b/java/com/google/gerrit/plugins/codeowners/acceptance/BUILD
@@ -10,6 +10,7 @@
     srcs = glob(["*.java"]),
     deps = [
         "//java/com/google/gerrit/acceptance:lib",
+        "//lib/errorprone:annotations",
         "//plugins/code-owners:code-owners__plugin",
         "//plugins/code-owners/java/com/google/gerrit/plugins/codeowners/acceptance/testsuite",
         "//plugins/code-owners/java/com/google/gerrit/plugins/codeowners/api/impl",
diff --git a/java/com/google/gerrit/plugins/codeowners/acceptance/package-info.java b/java/com/google/gerrit/plugins/codeowners/acceptance/package-info.java
new file mode 100644
index 0000000..6e3cfb3
--- /dev/null
+++ b/java/com/google/gerrit/plugins/codeowners/acceptance/package-info.java
@@ -0,0 +1,18 @@
+// Copyright (C) 2023 The Android Open Source Project
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+@CheckReturnValue
+package com.google.gerrit.plugins.codeowners.acceptance;
+
+import com.google.errorprone.annotations.CheckReturnValue;
diff --git a/java/com/google/gerrit/plugins/codeowners/acceptance/testsuite/BUILD b/java/com/google/gerrit/plugins/codeowners/acceptance/testsuite/BUILD
index 2660baa..2ef35a7 100644
--- a/java/com/google/gerrit/plugins/codeowners/acceptance/testsuite/BUILD
+++ b/java/com/google/gerrit/plugins/codeowners/acceptance/testsuite/BUILD
@@ -10,6 +10,7 @@
     srcs = glob(["*.java"]),
     deps = [
         "//java/com/google/gerrit/acceptance:lib",
+        "//lib/errorprone:annotations",
         "//plugins/code-owners/java/com/google/gerrit/plugins/codeowners/backend",
         "//plugins/code-owners/java/com/google/gerrit/plugins/codeowners/util",
     ],
diff --git a/java/com/google/gerrit/plugins/codeowners/acceptance/testsuite/package-info.java b/java/com/google/gerrit/plugins/codeowners/acceptance/testsuite/package-info.java
new file mode 100644
index 0000000..23d2ac2
--- /dev/null
+++ b/java/com/google/gerrit/plugins/codeowners/acceptance/testsuite/package-info.java
@@ -0,0 +1,18 @@
+// Copyright (C) 2023 The Android Open Source Project
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+@CheckReturnValue
+package com.google.gerrit.plugins.codeowners.acceptance.testsuite;
+
+import com.google.errorprone.annotations.CheckReturnValue;
diff --git a/java/com/google/gerrit/plugins/codeowners/api/impl/BUILD b/java/com/google/gerrit/plugins/codeowners/api/impl/BUILD
index 0fe77d6..175459a 100644
--- a/java/com/google/gerrit/plugins/codeowners/api/impl/BUILD
+++ b/java/com/google/gerrit/plugins/codeowners/api/impl/BUILD
@@ -6,6 +6,7 @@
     srcs = glob(["*.java"]),
     visibility = ["//visibility:public"],
     deps = PLUGIN_DEPS_NEVERLINK + [
+        "//lib/errorprone:annotations",
         "//plugins/code-owners/java/com/google/gerrit/plugins/codeowners/api",
         "//plugins/code-owners/java/com/google/gerrit/plugins/codeowners/restapi",
     ],
diff --git a/java/com/google/gerrit/plugins/codeowners/api/impl/package-info.java b/java/com/google/gerrit/plugins/codeowners/api/impl/package-info.java
new file mode 100644
index 0000000..51a6625
--- /dev/null
+++ b/java/com/google/gerrit/plugins/codeowners/api/impl/package-info.java
@@ -0,0 +1,18 @@
+// Copyright (C) 2023 The Android Open Source Project
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+@CheckReturnValue
+package com.google.gerrit.plugins.codeowners.api.impl;
+
+import com.google.errorprone.annotations.CheckReturnValue;
diff --git a/java/com/google/gerrit/plugins/codeowners/api/package-info.java b/java/com/google/gerrit/plugins/codeowners/api/package-info.java
new file mode 100644
index 0000000..f80387e
--- /dev/null
+++ b/java/com/google/gerrit/plugins/codeowners/api/package-info.java
@@ -0,0 +1,18 @@
+// Copyright (C) 2023 The Android Open Source Project
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+@CheckReturnValue
+package com.google.gerrit.plugins.codeowners.api;
+
+import com.google.errorprone.annotations.CheckReturnValue;
diff --git a/java/com/google/gerrit/plugins/codeowners/backend/config/package-info.java b/java/com/google/gerrit/plugins/codeowners/backend/config/package-info.java
new file mode 100644
index 0000000..2dca0e9
--- /dev/null
+++ b/java/com/google/gerrit/plugins/codeowners/backend/config/package-info.java
@@ -0,0 +1,18 @@
+// Copyright (C) 2023 The Android Open Source Project
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+@CheckReturnValue
+package com.google.gerrit.plugins.codeowners.backend.config;
+
+import com.google.errorprone.annotations.CheckReturnValue;
diff --git a/java/com/google/gerrit/plugins/codeowners/backend/findowners/package-info.java b/java/com/google/gerrit/plugins/codeowners/backend/findowners/package-info.java
new file mode 100644
index 0000000..529b5b4
--- /dev/null
+++ b/java/com/google/gerrit/plugins/codeowners/backend/findowners/package-info.java
@@ -0,0 +1,18 @@
+// Copyright (C) 2023 The Android Open Source Project
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+@CheckReturnValue
+package com.google.gerrit.plugins.codeowners.backend.findowners;
+
+import com.google.errorprone.annotations.CheckReturnValue;
diff --git a/java/com/google/gerrit/plugins/codeowners/backend/package-info.java b/java/com/google/gerrit/plugins/codeowners/backend/package-info.java
new file mode 100644
index 0000000..a9a460e
--- /dev/null
+++ b/java/com/google/gerrit/plugins/codeowners/backend/package-info.java
@@ -0,0 +1,18 @@
+// Copyright (C) 2023 The Android Open Source Project
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+@CheckReturnValue
+package com.google.gerrit.plugins.codeowners.backend;
+
+import com.google.errorprone.annotations.CheckReturnValue;
diff --git a/java/com/google/gerrit/plugins/codeowners/backend/proto/package-info.java b/java/com/google/gerrit/plugins/codeowners/backend/proto/package-info.java
new file mode 100644
index 0000000..5a408c0
--- /dev/null
+++ b/java/com/google/gerrit/plugins/codeowners/backend/proto/package-info.java
@@ -0,0 +1,18 @@
+// Copyright (C) 2023 The Android Open Source Project
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+@CheckReturnValue
+package com.google.gerrit.plugins.codeowners.backend.proto;
+
+import com.google.errorprone.annotations.CheckReturnValue;
diff --git a/java/com/google/gerrit/plugins/codeowners/common/BUILD b/java/com/google/gerrit/plugins/codeowners/common/BUILD
index d4a7385..2170c51 100644
--- a/java/com/google/gerrit/plugins/codeowners/common/BUILD
+++ b/java/com/google/gerrit/plugins/codeowners/common/BUILD
@@ -6,6 +6,7 @@
     srcs = glob(["*.java"]),
     visibility = ["//visibility:public"],
     deps = PLUGIN_DEPS_NEVERLINK + [
+        "//lib/errorprone:annotations",
         "//plugins/code-owners/java/com/google/gerrit/plugins/codeowners/util",
     ],
 )
diff --git a/java/com/google/gerrit/plugins/codeowners/common/package-info.java b/java/com/google/gerrit/plugins/codeowners/common/package-info.java
new file mode 100644
index 0000000..d7445d4
--- /dev/null
+++ b/java/com/google/gerrit/plugins/codeowners/common/package-info.java
@@ -0,0 +1,18 @@
+// Copyright (C) 2023 The Android Open Source Project
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+@CheckReturnValue
+package com.google.gerrit.plugins.codeowners.common;
+
+import com.google.errorprone.annotations.CheckReturnValue;
diff --git a/java/com/google/gerrit/plugins/codeowners/metrics/BUILD b/java/com/google/gerrit/plugins/codeowners/metrics/BUILD
index 1f1ad14..df8e3e5 100644
--- a/java/com/google/gerrit/plugins/codeowners/metrics/BUILD
+++ b/java/com/google/gerrit/plugins/codeowners/metrics/BUILD
@@ -5,5 +5,7 @@
     name = "metrics",
     srcs = glob(["*.java"]),
     visibility = ["//visibility:public"],
-    deps = PLUGIN_DEPS_NEVERLINK,
+    deps = PLUGIN_DEPS_NEVERLINK + [
+        "//lib/errorprone:annotations",
+    ],
 )
diff --git a/java/com/google/gerrit/plugins/codeowners/metrics/package-info.java b/java/com/google/gerrit/plugins/codeowners/metrics/package-info.java
new file mode 100644
index 0000000..0fa6e92
--- /dev/null
+++ b/java/com/google/gerrit/plugins/codeowners/metrics/package-info.java
@@ -0,0 +1,18 @@
+// Copyright (C) 2023 The Android Open Source Project
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+@CheckReturnValue
+package com.google.gerrit.plugins.codeowners.metrics;
+
+import com.google.errorprone.annotations.CheckReturnValue;
diff --git a/java/com/google/gerrit/plugins/codeowners/module/package-info.java b/java/com/google/gerrit/plugins/codeowners/module/package-info.java
new file mode 100644
index 0000000..1c925a9
--- /dev/null
+++ b/java/com/google/gerrit/plugins/codeowners/module/package-info.java
@@ -0,0 +1,18 @@
+// Copyright (C) 2023 The Android Open Source Project
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+@CheckReturnValue
+package com.google.gerrit.plugins.codeowners.module;
+
+import com.google.errorprone.annotations.CheckReturnValue;
diff --git a/java/com/google/gerrit/plugins/codeowners/restapi/BUILD b/java/com/google/gerrit/plugins/codeowners/restapi/BUILD
index 298b46b..201b271 100644
--- a/java/com/google/gerrit/plugins/codeowners/restapi/BUILD
+++ b/java/com/google/gerrit/plugins/codeowners/restapi/BUILD
@@ -6,6 +6,7 @@
     srcs = glob(["*.java"]),
     visibility = ["//visibility:public"],
     deps = PLUGIN_DEPS_NEVERLINK + [
+        "//lib/errorprone:annotations",
         "//plugins/code-owners/java/com/google/gerrit/plugins/codeowners/api",
         "//plugins/code-owners/java/com/google/gerrit/plugins/codeowners/backend",
         "//plugins/code-owners/java/com/google/gerrit/plugins/codeowners/common",
diff --git a/java/com/google/gerrit/plugins/codeowners/restapi/package-info.java b/java/com/google/gerrit/plugins/codeowners/restapi/package-info.java
new file mode 100644
index 0000000..9275ce7
--- /dev/null
+++ b/java/com/google/gerrit/plugins/codeowners/restapi/package-info.java
@@ -0,0 +1,18 @@
+// Copyright (C) 2023 The Android Open Source Project
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+@CheckReturnValue
+package com.google.gerrit.plugins.codeowners.restapi;
+
+import com.google.errorprone.annotations.CheckReturnValue;
diff --git a/java/com/google/gerrit/plugins/codeowners/testing/BUILD b/java/com/google/gerrit/plugins/codeowners/testing/BUILD
index c4a40d3..26bc1be 100644
--- a/java/com/google/gerrit/plugins/codeowners/testing/BUILD
+++ b/java/com/google/gerrit/plugins/codeowners/testing/BUILD
@@ -15,6 +15,7 @@
         "//java/com/google/gerrit/truth",
         "//lib:guava",
         "//lib:jgit",
+        "//lib/errorprone:annotations",
         "//lib/truth",
         "//lib/truth:truth-java8-extension",
         "//plugins/code-owners/java/com/google/gerrit/plugins/codeowners/api",
diff --git a/java/com/google/gerrit/plugins/codeowners/testing/backend/BUILD b/java/com/google/gerrit/plugins/codeowners/testing/backend/BUILD
index f4392f9..e589f42 100644
--- a/java/com/google/gerrit/plugins/codeowners/testing/backend/BUILD
+++ b/java/com/google/gerrit/plugins/codeowners/testing/backend/BUILD
@@ -13,6 +13,7 @@
         "//java/com/google/gerrit/server",
         "//lib:jgit",
         "//lib:jgit-junit",
+        "//lib/errorprone:annotations",
         "//lib/guice",
         "//lib/guice:guice-assistedinject",
         "//plugins/code-owners/java/com/google/gerrit/plugins/codeowners/backend",
diff --git a/java/com/google/gerrit/plugins/codeowners/testing/backend/package-info.java b/java/com/google/gerrit/plugins/codeowners/testing/backend/package-info.java
new file mode 100644
index 0000000..c321cdf
--- /dev/null
+++ b/java/com/google/gerrit/plugins/codeowners/testing/backend/package-info.java
@@ -0,0 +1,18 @@
+// Copyright (C) 2023 The Android Open Source Project
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+@CheckReturnValue
+package com.google.gerrit.plugins.codeowners.testing.backend;
+
+import com.google.errorprone.annotations.CheckReturnValue;
diff --git a/java/com/google/gerrit/plugins/codeowners/testing/package-info.java b/java/com/google/gerrit/plugins/codeowners/testing/package-info.java
new file mode 100644
index 0000000..913d654
--- /dev/null
+++ b/java/com/google/gerrit/plugins/codeowners/testing/package-info.java
@@ -0,0 +1,18 @@
+// Copyright (C) 2023 The Android Open Source Project
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+@CheckReturnValue
+package com.google.gerrit.plugins.codeowners.testing;
+
+import com.google.errorprone.annotations.CheckReturnValue;
diff --git a/java/com/google/gerrit/plugins/codeowners/util/BUILD b/java/com/google/gerrit/plugins/codeowners/util/BUILD
index 1ea5031..4a10ba4 100644
--- a/java/com/google/gerrit/plugins/codeowners/util/BUILD
+++ b/java/com/google/gerrit/plugins/codeowners/util/BUILD
@@ -1,7 +1,11 @@
 load("@rules_java//java:defs.bzl", "java_library")
+load("//tools/bzl:plugin.bzl", "PLUGIN_DEPS_NEVERLINK")
 
 java_library(
     name = "util",
     srcs = glob(["*.java"]),
     visibility = ["//visibility:public"],
+    deps = PLUGIN_DEPS_NEVERLINK + [
+        "//lib/errorprone:annotations",
+    ],
 )
diff --git a/java/com/google/gerrit/plugins/codeowners/util/package-info.java b/java/com/google/gerrit/plugins/codeowners/util/package-info.java
new file mode 100644
index 0000000..88b2056
--- /dev/null
+++ b/java/com/google/gerrit/plugins/codeowners/util/package-info.java
@@ -0,0 +1,18 @@
+// Copyright (C) 2023 The Android Open Source Project
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+@CheckReturnValue
+package com.google.gerrit.plugins.codeowners.util;
+
+import com.google.errorprone.annotations.CheckReturnValue;
diff --git a/java/com/google/gerrit/plugins/codeowners/validation/BUILD b/java/com/google/gerrit/plugins/codeowners/validation/BUILD
index f66a8a5..2b5afba 100644
--- a/java/com/google/gerrit/plugins/codeowners/validation/BUILD
+++ b/java/com/google/gerrit/plugins/codeowners/validation/BUILD
@@ -6,6 +6,7 @@
     srcs = glob(["*.java"]),
     visibility = ["//visibility:public"],
     deps = PLUGIN_DEPS_NEVERLINK + [
+        "//lib/errorprone:annotations",
         "//plugins/code-owners/java/com/google/gerrit/plugins/codeowners/backend",
         "//plugins/code-owners/java/com/google/gerrit/plugins/codeowners/common",
         "//plugins/code-owners/java/com/google/gerrit/plugins/codeowners/metrics",
diff --git a/java/com/google/gerrit/plugins/codeowners/validation/package-info.java b/java/com/google/gerrit/plugins/codeowners/validation/package-info.java
new file mode 100644
index 0000000..1f0b8eb
--- /dev/null
+++ b/java/com/google/gerrit/plugins/codeowners/validation/package-info.java
@@ -0,0 +1,18 @@
+// Copyright (C) 2023 The Android Open Source Project
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+@CheckReturnValue
+package com.google.gerrit.plugins.codeowners.validation;
+
+import com.google.errorprone.annotations.CheckReturnValue;
