diff --git a/blackbox-test/src/test/java/example/avaje/nested/AContactWithNullable.java b/blackbox-test/src/test/java/example/avaje/nested/AContactWithNullable.java
index 2152d778..7a3ce103 100644
--- a/blackbox-test/src/test/java/example/avaje/nested/AContactWithNullable.java
+++ b/blackbox-test/src/test/java/example/avaje/nested/AContactWithNullable.java
@@ -1,6 +1,7 @@
package example.avaje.nested;
-import io.avaje.lang.Nullable;
+import org.jspecify.annotations.Nullable;
+
import jakarta.validation.Valid;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.Size;
diff --git a/pom.xml b/pom.xml
index 380646c7..3b00a2f7 100644
--- a/pom.xml
+++ b/pom.xml
@@ -27,7 +27,7 @@
false
true
17
- 10.1
+ 10.2
2.1
diff --git a/validator/src/main/java/io/avaje/validation/core/CoreAdapterBuilder.java b/validator/src/main/java/io/avaje/validation/core/CoreAdapterBuilder.java
index dc9617a1..fa5f6946 100644
--- a/validator/src/main/java/io/avaje/validation/core/CoreAdapterBuilder.java
+++ b/validator/src/main/java/io/avaje/validation/core/CoreAdapterBuilder.java
@@ -12,7 +12,8 @@
import java.util.concurrent.ConcurrentHashMap;
import java.util.function.Supplier;
-import io.avaje.lang.Nullable;
+import org.jspecify.annotations.Nullable;
+
import io.avaje.validation.adapter.ValidationAdapter;
import io.avaje.validation.adapter.ValidationContext;
import io.avaje.validation.core.adapters.BasicAdapters;
diff --git a/validator/src/main/java/io/avaje/validation/core/DRequest.java b/validator/src/main/java/io/avaje/validation/core/DRequest.java
index a726e47b..de15e085 100644
--- a/validator/src/main/java/io/avaje/validation/core/DRequest.java
+++ b/validator/src/main/java/io/avaje/validation/core/DRequest.java
@@ -1,14 +1,19 @@
package io.avaje.validation.core;
-import io.avaje.lang.Nullable;
+import java.util.ArrayDeque;
+import java.util.LinkedHashSet;
+import java.util.List;
+import java.util.Locale;
+import java.util.Set;
+
+import org.jspecify.annotations.Nullable;
+
import io.avaje.validation.ConstraintViolation;
import io.avaje.validation.ConstraintViolationException;
import io.avaje.validation.adapter.ValidationContext;
import io.avaje.validation.adapter.ValidationRequest;
import io.avaje.validation.groups.Default;
-import java.util.*;
-
final class DRequest implements ValidationRequest {
private static final List> DEFAULT_GROUP = List.of(Default.class);
@@ -83,9 +88,9 @@ public void throwWithViolations() {
private String message() {
final var msg = new StringBuilder(100);
msg.append(violations.size()).append(" constraint violation(s) occurred.");
- violations.stream().limit(10).forEach(cv -> {
- msg.append("\n ").append(cv.path()).append(": ").append(cv.message());
- });
+ violations.stream()
+ .limit(10)
+ .forEach(cv -> msg.append("\n ").append(cv.path()).append(": ").append(cv.message()));
final int others = violations.size() - 10;
if (others > 0) {
msg.append("\n and ").append(others).append(" other error(s)");
diff --git a/validator/src/main/java/io/avaje/validation/core/DValidator.java b/validator/src/main/java/io/avaje/validation/core/DValidator.java
index 000db003..109d85ce 100644
--- a/validator/src/main/java/io/avaje/validation/core/DValidator.java
+++ b/validator/src/main/java/io/avaje/validation/core/DValidator.java
@@ -21,7 +21,8 @@
import java.util.concurrent.ConcurrentHashMap;
import java.util.function.Supplier;
-import io.avaje.lang.Nullable;
+import org.jspecify.annotations.Nullable;
+
import io.avaje.validation.ConstraintViolation;
import io.avaje.validation.Validator;
import io.avaje.validation.adapter.ValidationAdapter;
diff --git a/validator/src/main/java/io/avaje/validation/core/LocaleResolver.java b/validator/src/main/java/io/avaje/validation/core/LocaleResolver.java
index b8f1252a..406bbd7b 100644
--- a/validator/src/main/java/io/avaje/validation/core/LocaleResolver.java
+++ b/validator/src/main/java/io/avaje/validation/core/LocaleResolver.java
@@ -5,7 +5,7 @@
import java.util.Locale;
import java.util.Set;
-import io.avaje.lang.Nullable;
+import org.jspecify.annotations.Nullable;
final class LocaleResolver {
diff --git a/validator/src/main/java/io/avaje/validation/core/ResourceBundleManager.java b/validator/src/main/java/io/avaje/validation/core/ResourceBundleManager.java
index 88cbcf5c..e0fd7899 100644
--- a/validator/src/main/java/io/avaje/validation/core/ResourceBundleManager.java
+++ b/validator/src/main/java/io/avaje/validation/core/ResourceBundleManager.java
@@ -11,8 +11,9 @@
import java.util.MissingResourceException;
import java.util.ResourceBundle;
+import org.jspecify.annotations.Nullable;
+
import io.avaje.applog.AppLog;
-import io.avaje.lang.Nullable;
final class ResourceBundleManager {
private static final System.Logger logger = AppLog.getLogger(ResourceBundleManager.class);
diff --git a/validator/src/main/java/io/avaje/validation/core/ValidationType.java b/validator/src/main/java/io/avaje/validation/core/ValidationType.java
index 1fed1389..9cb60e74 100644
--- a/validator/src/main/java/io/avaje/validation/core/ValidationType.java
+++ b/validator/src/main/java/io/avaje/validation/core/ValidationType.java
@@ -4,7 +4,8 @@
import java.util.Locale;
import java.util.Set;
-import io.avaje.lang.Nullable;
+import org.jspecify.annotations.Nullable;
+
import io.avaje.validation.ConstraintViolation;
import io.avaje.validation.ConstraintViolationException;
import io.avaje.validation.adapter.ValidationAdapter;
diff --git a/validator/src/main/java/io/avaje/validation/core/adapters/BasicAdapters.java b/validator/src/main/java/io/avaje/validation/core/adapters/BasicAdapters.java
index 2881b9b0..22777d63 100644
--- a/validator/src/main/java/io/avaje/validation/core/adapters/BasicAdapters.java
+++ b/validator/src/main/java/io/avaje/validation/core/adapters/BasicAdapters.java
@@ -15,7 +15,6 @@
import io.avaje.validation.adapter.ValidationContext;
import io.avaje.validation.adapter.ValidationContext.AdapterCreateRequest;
import io.avaje.validation.adapter.ValidationRequest;
-import io.avaje.validation.core.adapters.BasicAdapters.PatternAdapter;
import io.avaje.validation.spi.AnnotationFactory;
public final class BasicAdapters {