SLING-7798 : Switch from JSR-305 annotations to Jetbrains Nullable/NotNull Annotations
diff --git a/pom.xml b/pom.xml
index 7b01d56..13aab1b 100644
--- a/pom.xml
+++ b/pom.xml
@@ -67,8 +67,10 @@
             <artifactId>slf4j-api</artifactId>
         </dependency>
         <dependency>
-            <groupId>com.google.code.findbugs</groupId>
-            <artifactId>jsr305</artifactId>
+            <groupId>org.jetbrains</groupId>
+            <artifactId>annotations</artifactId>
+            <version>16.0.2</version>
+            <scope>provided</scope>
         </dependency>
         <!-- No external dependency, we embed some util classes -->
         <dependency>
diff --git a/src/main/java/org/apache/sling/api/SlingHttpServletRequest.java b/src/main/java/org/apache/sling/api/SlingHttpServletRequest.java
index 463abf0..776e613 100644
--- a/src/main/java/org/apache/sling/api/SlingHttpServletRequest.java
+++ b/src/main/java/org/apache/sling/api/SlingHttpServletRequest.java
@@ -23,8 +23,8 @@
 import java.util.Locale;
 import java.util.ResourceBundle;
 
-import javax.annotation.CheckForNull;
-import javax.annotation.Nonnull;
+import org.jetbrains.annotations.Nullable;
+import org.jetbrains.annotations.NotNull;
 import javax.servlet.RequestDispatcher;
 import javax.servlet.http.Cookie;
 import javax.servlet.http.HttpServletRequest;
@@ -70,7 +70,7 @@
      *
      * @return The <code>Resource</code> object of this request.
      */
-    @Nonnull Resource getResource();
+    @NotNull Resource getResource();
 
     /**
      * Returns the {@link ResourceResolver} which resolved the
@@ -78,14 +78,14 @@
      *
      * @return The resource resolver
      */
-    @Nonnull ResourceResolver getResourceResolver();
+    @NotNull ResourceResolver getResourceResolver();
 
     /**
      * Returns the {@link RequestPathInfo} pertaining to this request.
      *
      * @return the request path info.
      */
-    @Nonnull RequestPathInfo getRequestPathInfo();
+    @NotNull RequestPathInfo getRequestPathInfo();
 
     /**
      * Returns the value of a request parameter as a {@link RequestParameter},
@@ -109,7 +109,7 @@
      * @see RequestParameterMap#getValue(String)
      * @throws IllegalArgumentException if name is <code>null</code>.
      */
-    @CheckForNull RequestParameter getRequestParameter(@Nonnull String name);
+    @Nullable RequestParameter getRequestParameter(@NotNull String name);
 
     /**
      * Returns an array of {@link RequestParameter} objects containing all of
@@ -129,7 +129,7 @@
      * @see RequestParameterMap#getValues(String)
      * @throws IllegalArgumentException if name is <code>null</code>.
      */
-    @CheckForNull RequestParameter[] getRequestParameters(@Nonnull String name);
+    @Nullable RequestParameter[] getRequestParameters(@NotNull String name);
 
     /**
      * Returns a <code>Map</code> of the parameters of this request.
@@ -145,7 +145,7 @@
      *         parameter map are of type String. The values in the parameter map
      *         are of type {@link RequestParameter} array (<code>RequestParameter[]</code>).
      */
-   @Nonnull RequestParameterMap getRequestParameterMap();
+   @NotNull RequestParameterMap getRequestParameterMap();
 
     /**
      * Returns the request parameters as instances of the
@@ -157,7 +157,7 @@
      *         order.
      * @since 2.3  (Sling API Bundle 2.6.0)
      */
-    @Nonnull List<RequestParameter> getRequestParameterList();
+    @NotNull List<RequestParameter> getRequestParameterList();
 
     /**
      * Returns a <code>RequestDispatcher</code> object that acts as a wrapper
@@ -176,7 +176,7 @@
      *         for the <code>resource</code> or <code>null</code> if an
      *         error occurs preparing the dispatcher.
      */
-    @CheckForNull RequestDispatcher getRequestDispatcher(@Nonnull String path,
+    @Nullable RequestDispatcher getRequestDispatcher(@NotNull String path,
             RequestDispatcherOptions options);
 
     /**
@@ -195,7 +195,7 @@
      *         for the <code>resource</code> or <code>null</code> if an
      *         error occurs preparing the dispatcher.
      */
-    @CheckForNull RequestDispatcher getRequestDispatcher(@Nonnull Resource resource,
+    @Nullable RequestDispatcher getRequestDispatcher(@NotNull Resource resource,
             RequestDispatcherOptions options);
 
     /**
@@ -207,7 +207,7 @@
      *         for the <code>resource</code> or <code>null</code> if an
      *         error occurs preparing the dispatcher.
      */
-    @CheckForNull RequestDispatcher getRequestDispatcher(@Nonnull Resource resource);
+    @Nullable RequestDispatcher getRequestDispatcher(@NotNull Resource resource);
 
     /**
      * Returns the named cookie from the HTTP request or <code>null</code> if
@@ -216,7 +216,7 @@
      * @param name The name of the cookie to return.
      * @return The named cookie or <code>null</code> if no such cookie exists.
      */
-    @CheckForNull Cookie getCookie(String name);
+    @Nullable Cookie getCookie(String name);
 
     /**
      * Returns the framework preferred content type for the response. The
@@ -228,7 +228,7 @@
      *
      * @return preferred MIME type of the response
      */
-    @CheckForNull String getResponseContentType();
+    @Nullable String getResponseContentType();
 
     /**
      * Gets a list of content types which the framework accepts for the
@@ -243,7 +243,7 @@
      *
      * @return ordered list of MIME types for the response
      */
-    @Nonnull Enumeration<String> getResponseContentTypes();
+    @NotNull Enumeration<String> getResponseContentTypes();
 
     /**
      * Returns the resource bundle for the given locale.
@@ -253,7 +253,7 @@
      *            {@link #getLocale()} is used to select the resource bundle.
      * @return the resource bundle for the given locale
      */
-    @CheckForNull ResourceBundle getResourceBundle(Locale locale);
+    @Nullable ResourceBundle getResourceBundle(Locale locale);
 
     /**
      * Returns the resource bundle of the given base name for the given locale.
@@ -267,11 +267,11 @@
      *            {@link #getLocale()} is used to select the resource bundle.
      * @return the resource bundle for the given locale
      */
-    @CheckForNull ResourceBundle getResourceBundle(String baseName, Locale locale);
+    @Nullable ResourceBundle getResourceBundle(String baseName, Locale locale);
 
     /**
      * Returns the {@link RequestProgressTracker} of this request.
      * @return The request progress tracker.
      */
-    @Nonnull RequestProgressTracker getRequestProgressTracker();
+    @NotNull RequestProgressTracker getRequestProgressTracker();
 }
diff --git a/src/main/java/org/apache/sling/api/adapter/Adaptable.java b/src/main/java/org/apache/sling/api/adapter/Adaptable.java
index 446827e..dac47dd 100644
--- a/src/main/java/org/apache/sling/api/adapter/Adaptable.java
+++ b/src/main/java/org/apache/sling/api/adapter/Adaptable.java
@@ -18,8 +18,8 @@
  */
 package org.apache.sling.api.adapter;
 
-import javax.annotation.CheckForNull;
-import javax.annotation.Nonnull;
+import org.jetbrains.annotations.Nullable;
+import org.jetbrains.annotations.NotNull;
 
 import org.osgi.annotation.versioning.ConsumerType;
 
@@ -52,6 +52,6 @@
      * @return The adapter target or <code>null</code> if the object cannot
      *         adapt to the requested type
      */
-    @CheckForNull <AdapterType> AdapterType adaptTo(@Nonnull Class<AdapterType> type);
+    @Nullable <AdapterType> AdapterType adaptTo(@NotNull Class<AdapterType> type);
 
 }
diff --git a/src/main/java/org/apache/sling/api/adapter/AdapterFactory.java b/src/main/java/org/apache/sling/api/adapter/AdapterFactory.java
index 01c2460..3224af5 100644
--- a/src/main/java/org/apache/sling/api/adapter/AdapterFactory.java
+++ b/src/main/java/org/apache/sling/api/adapter/AdapterFactory.java
@@ -18,8 +18,8 @@
  */
 package org.apache.sling.api.adapter;
 
-import javax.annotation.CheckForNull;
-import javax.annotation.Nonnull;
+import org.jetbrains.annotations.Nullable;
+import org.jetbrains.annotations.NotNull;
 
 import org.osgi.annotation.versioning.ConsumerType;
 
@@ -92,7 +92,7 @@
      * @return The adapted object or <code>null</code> if this factory instance
      *         cannot adapt the object.
      */
-    @CheckForNull <AdapterType> AdapterType getAdapter(@Nonnull Object adaptable,
-            @Nonnull Class<AdapterType> type);
+    @Nullable <AdapterType> AdapterType getAdapter(@NotNull Object adaptable,
+            @NotNull Class<AdapterType> type);
 
 }
diff --git a/src/main/java/org/apache/sling/api/adapter/AdapterManager.java b/src/main/java/org/apache/sling/api/adapter/AdapterManager.java
index e740257..81a22ae 100644
--- a/src/main/java/org/apache/sling/api/adapter/AdapterManager.java
+++ b/src/main/java/org/apache/sling/api/adapter/AdapterManager.java
@@ -18,8 +18,8 @@
  */
 package org.apache.sling.api.adapter;
 
-import javax.annotation.CheckForNull;
-import javax.annotation.Nonnull;
+import org.jetbrains.annotations.Nullable;
+import org.jetbrains.annotations.NotNull;
 
 import org.osgi.annotation.versioning.ProviderType;
 
@@ -60,7 +60,7 @@
      *         or if the <code>adaptable</code> cannot be adapted for any other
      *         reason.
      */
-    @CheckForNull <AdapterType> AdapterType getAdapter(@Nonnull Object adaptable,
-            @Nonnull Class<AdapterType> type);
+    @Nullable <AdapterType> AdapterType getAdapter(@NotNull Object adaptable,
+            @NotNull Class<AdapterType> type);
 
 }
\ No newline at end of file
diff --git a/src/main/java/org/apache/sling/api/adapter/package-info.java b/src/main/java/org/apache/sling/api/adapter/package-info.java
index b06cc07..d737b8c 100644
--- a/src/main/java/org/apache/sling/api/adapter/package-info.java
+++ b/src/main/java/org/apache/sling/api/adapter/package-info.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-@Version("2.2.2")
+@Version("2.2.3")
 package org.apache.sling.api.adapter;
 
 import org.osgi.annotation.versioning.Version;
diff --git a/src/main/java/org/apache/sling/api/auth/Authenticator.java b/src/main/java/org/apache/sling/api/auth/Authenticator.java
index a5fdbbb..79bccec 100644
--- a/src/main/java/org/apache/sling/api/auth/Authenticator.java
+++ b/src/main/java/org/apache/sling/api/auth/Authenticator.java
@@ -18,7 +18,7 @@
  */
 package org.apache.sling.api.auth;
 
-import javax.annotation.Nonnull;
+import org.jetbrains.annotations.NotNull;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
@@ -116,7 +116,7 @@
      *             to authenticate a request user.
      * @throws IllegalStateException If the response has already been committed.
      */
-    void login(@Nonnull HttpServletRequest request, @Nonnull HttpServletResponse response);
+    void login(@NotNull HttpServletRequest request, @NotNull HttpServletResponse response);
 
     /**
      * Logs out if the current request is authenticated.
@@ -133,5 +133,5 @@
      * @param response The object representing the response to the client.
      * @throws IllegalStateException If the response has already been committed.
      */
-    void logout(@Nonnull HttpServletRequest request, @Nonnull HttpServletResponse response);
+    void logout(@NotNull HttpServletRequest request, @NotNull HttpServletResponse response);
 }
diff --git a/src/main/java/org/apache/sling/api/auth/package-info.java b/src/main/java/org/apache/sling/api/auth/package-info.java
index 59e3734..6a3d9da 100644
--- a/src/main/java/org/apache/sling/api/auth/package-info.java
+++ b/src/main/java/org/apache/sling/api/auth/package-info.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-@Version("1.0.2")
+@Version("1.0.3")
 package org.apache.sling.api.auth;
 
 import org.osgi.annotation.versioning.Version;
diff --git a/src/main/java/org/apache/sling/api/package-info.java b/src/main/java/org/apache/sling/api/package-info.java
index 1a9c591..ad81af1 100644
--- a/src/main/java/org/apache/sling/api/package-info.java
+++ b/src/main/java/org/apache/sling/api/package-info.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-@Version("2.3.2")
+@Version("2.3.3")
 package org.apache.sling.api;
 
 import org.osgi.annotation.versioning.Version;
diff --git a/src/main/java/org/apache/sling/api/request/RequestParameter.java b/src/main/java/org/apache/sling/api/request/RequestParameter.java
index 535f9b0..e1b3a6a 100644
--- a/src/main/java/org/apache/sling/api/request/RequestParameter.java
+++ b/src/main/java/org/apache/sling/api/request/RequestParameter.java
@@ -22,8 +22,8 @@
 import java.io.InputStream;
 import java.io.UnsupportedEncodingException;
 
-import javax.annotation.CheckForNull;
-import javax.annotation.Nonnull;
+import org.jetbrains.annotations.Nullable;
+import org.jetbrains.annotations.NotNull;
 
 import org.osgi.annotation.versioning.ProviderType;
 
@@ -45,7 +45,7 @@
      * @return the name of this {@code RequestParameter}
      * @since 2.4 (Sling API Bundle 2.6)
      */
-    @Nonnull String getName();
+    @NotNull String getName();
 
     /**
      * Determines whether or not this instance represents a simple form field or
@@ -63,7 +63,7 @@
      * @return The content type passed by the browser or <code>null</code> if
      *         not defined.
      */
-    @CheckForNull String getContentType();
+    @Nullable String getContentType();
 
     /**
      * Returns the size in bytes of the parameter.
@@ -91,7 +91,7 @@
      *         file.
      * @throws IOException if an error occurs.
      */
-    @CheckForNull InputStream getInputStream() throws IOException;
+    @Nullable InputStream getInputStream() throws IOException;
 
     /**
      * Returns the original filename in the client's filesystem, as provided by
@@ -101,7 +101,7 @@
      *
      * @return The original filename in the client's filesystem.
      */
-    @CheckForNull String getFileName();
+    @Nullable String getFileName();
 
     /**
      * Returns the contents of the parameter as a String, using the default
@@ -110,7 +110,7 @@
      *
      * @return The contents of the parameter, as a string.
      */
-    @Nonnull String getString();
+    @NotNull String getString();
 
     /**
      * Returns the contents of the parameter as a String, using the specified
@@ -122,6 +122,6 @@
      * @throws UnsupportedEncodingException if the requested character encoding
      *             is not available.
      */
-    @Nonnull String getString(@Nonnull String encoding) throws UnsupportedEncodingException;
+    @NotNull String getString(@NotNull String encoding) throws UnsupportedEncodingException;
 
 }
diff --git a/src/main/java/org/apache/sling/api/request/RequestParameterMap.java b/src/main/java/org/apache/sling/api/request/RequestParameterMap.java
index c3adc04..bab958f 100644
--- a/src/main/java/org/apache/sling/api/request/RequestParameterMap.java
+++ b/src/main/java/org/apache/sling/api/request/RequestParameterMap.java
@@ -20,8 +20,8 @@
 
 import java.util.Map;
 
-import javax.annotation.CheckForNull;
-import javax.annotation.Nonnull;
+import org.jetbrains.annotations.Nullable;
+import org.jetbrains.annotations.NotNull;
 
 import org.osgi.annotation.versioning.ProviderType;
 
@@ -38,12 +38,12 @@
      * @param name The parameter name
      * @return The request parameter array or {@code null}.
      */
-    @CheckForNull RequestParameter[] getValues(@Nonnull String name);
+    @Nullable RequestParameter[] getValues(@NotNull String name);
 
     /**
      * Returns the first value for the named parameter or null if none
      * @param name The parameter name
      * @return The request parameter or {@code null}.
      */
-    @CheckForNull RequestParameter getValue(String name);
+    @Nullable RequestParameter getValue(String name);
 }
diff --git a/src/main/java/org/apache/sling/api/request/RequestPathInfo.java b/src/main/java/org/apache/sling/api/request/RequestPathInfo.java
index 2abb8eb..90dce48 100644
--- a/src/main/java/org/apache/sling/api/request/RequestPathInfo.java
+++ b/src/main/java/org/apache/sling/api/request/RequestPathInfo.java
@@ -16,8 +16,8 @@
  */
 package org.apache.sling.api.request;
 
-import javax.annotation.CheckForNull;
-import javax.annotation.Nonnull;
+import org.jetbrains.annotations.Nullable;
+import org.jetbrains.annotations.NotNull;
 
 import org.apache.sling.api.resource.Resource;
 
@@ -162,7 +162,7 @@
      * of the resource.
      * @return The resource path
      */
-    @Nonnull String getResourcePath();
+    @NotNull String getResourcePath();
 
     /**
      * Returns the extension from the URL or <code>null</code> if the request
@@ -173,7 +173,7 @@
      *
      * @return The extension from the request URL.
      */
-    @CheckForNull String getExtension();
+    @Nullable String getExtension();
 
     /**
      * Returns the selectors decoded from the request URL as string. Returns
@@ -185,7 +185,7 @@
      * @return The selector string or {@code null}
      * @see #getSelectors()
      */
-    @CheckForNull String getSelectorString();
+    @Nullable String getSelectorString();
 
     /**
      * Returns the selectors decoded from the request URL as an array of
@@ -199,7 +199,7 @@
      * @return An array of selectors
      * @see #getSelectorString()
      */
-    @Nonnull String[] getSelectors();
+    @NotNull String[] getSelectors();
 
     /**
      * Returns the suffix part of the URL or <code>null</code> if the request
@@ -210,7 +210,7 @@
      *
      * @return The suffix part of the request URL.
      */
-    @CheckForNull String getSuffix();
+    @Nullable String getSuffix();
 
     /**
      * Returns the resource addressed by the suffix or null if the request does
@@ -224,5 +224,5 @@
      *
      * @since 2.3 (Sling API Bundle 2.3.2)
      */
-    @CheckForNull Resource getSuffixResource();
+    @Nullable Resource getSuffixResource();
 }
diff --git a/src/main/java/org/apache/sling/api/request/RequestProgressTracker.java b/src/main/java/org/apache/sling/api/request/RequestProgressTracker.java
index 38f6ef4..760c80b 100644
--- a/src/main/java/org/apache/sling/api/request/RequestProgressTracker.java
+++ b/src/main/java/org/apache/sling/api/request/RequestProgressTracker.java
@@ -21,8 +21,8 @@
 import java.io.PrintWriter;
 import java.util.Iterator;
 
-import javax.annotation.CheckForNull;
-import javax.annotation.Nonnull;
+import org.jetbrains.annotations.Nullable;
+import org.jetbrains.annotations.NotNull;
 
 import org.osgi.annotation.versioning.ProviderType;
 
@@ -89,7 +89,7 @@
      * Creates an entry with the given message
      * @param message The message
      */
-    void log(@Nonnull String message);
+    void log(@NotNull String message);
 
     /**
      * Creates an entry with a message constructed from the given
@@ -98,21 +98,21 @@
      * @param format The message
      * @param args Arguments for the message
      */
-    void log(@Nonnull String format, Object... args);
+    void log(@NotNull String format, Object... args);
 
     /**
      * Starts a named timer. If a timer of the same name already exists, it is
      * reset to the current time.
      * @param timerName the name of the timer
      */
-    void startTimer(@Nonnull String timerName);
+    void startTimer(@NotNull String timerName);
 
     /**
      * Logs an entry with the message set to the name of the timer and the
      * number of milliseconds elapsed since the timer start.
      * @param timerName the name of the timer
      */
-    void logTimer(@Nonnull String timerName);
+    void logTimer(@NotNull String timerName);
 
     /**
      * Logs an entry with the message constructed from the given
@@ -122,20 +122,20 @@
      * @param format The message
      * @param args Arguments for the message
      */
-    void logTimer(@Nonnull String timerName, @Nonnull String format, Object... args);
+    void logTimer(@NotNull String timerName, @NotNull String format, Object... args);
 
     /**
      * Returns an <code>Iterator</code> of tracking entries.
      * If there are no messages <code>null</code> is returned.
      * @return An iterator with the messages or {@code null}
      */
-    @CheckForNull Iterator<String> getMessages();
+    @Nullable Iterator<String> getMessages();
 
     /**
      * Dumps the process timer entries to the given writer, one entry per line.
      * @param writer Writer to dump to
      */
-    void dump(@Nonnull PrintWriter writer);
+    void dump(@NotNull PrintWriter writer);
 
     /**
      *  Call this when done processing the request - only the first call of this
diff --git a/src/main/java/org/apache/sling/api/request/RequestUtil.java b/src/main/java/org/apache/sling/api/request/RequestUtil.java
index f2d1030..ecfde67 100644
--- a/src/main/java/org/apache/sling/api/request/RequestUtil.java
+++ b/src/main/java/org/apache/sling/api/request/RequestUtil.java
@@ -22,8 +22,8 @@
 import java.util.HashMap;
 import java.util.Map;
 
-import javax.annotation.CheckForNull;
-import javax.annotation.Nonnull;
+import org.jetbrains.annotations.Nullable;
+import org.jetbrains.annotations.NotNull;
 import javax.servlet.Servlet;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
@@ -56,7 +56,7 @@
      * @return A Map indexed by the Token names where the values are Map
      *         instances indexed by parameter name
      */
-    public static @Nonnull Map<String, Map<String, String>> parserHeader(@Nonnull String value) {
+    public static @NotNull Map<String, Map<String, String>> parserHeader(@NotNull String value) {
         Map<String, Map<String, String>> result = new HashMap<String, Map<String, String>>();
         String[] tokens = value.split(",");
         for (int i = 0; i < tokens.length; i++) {
@@ -97,7 +97,7 @@
      *         <code>Double</code> instances providing the value of the
      *         <code>q</code> parameter.
      */
-    public static @Nonnull Map<String, Double> parserAcceptHeader(@Nonnull String value) {
+    public static @NotNull Map<String, Double> parserAcceptHeader(@NotNull String value) {
         Map<String, Double> result = new HashMap<String, Double>();
         String[] tokens = value.split(",");
         for (int i = 0; i < tokens.length; i++) {
@@ -137,7 +137,7 @@
      * @param servlet The servlet
      * @return The name of the servlet.
      */
-    public static @Nonnull String getServletName(@Nonnull Servlet servlet) {
+    public static @NotNull String getServletName(@NotNull Servlet servlet) {
         String name = null;
 
         if (servlet.getServletConfig() != null) {
@@ -164,8 +164,8 @@
      * @return The previous value of the named request attribute or
      *         <code>null</code> if it was not set.
      */
-    public static @CheckForNull Object setRequestAttribute(@Nonnull HttpServletRequest request,
-            @Nonnull String name, Object value) {
+    public static @Nullable Object setRequestAttribute(@NotNull HttpServletRequest request,
+            @NotNull String name, Object value) {
         Object oldValue = request.getAttribute(name);
         if (value == null) {
             request.removeAttribute(name);
@@ -183,7 +183,7 @@
      * @param resp the response
      * @return <code>true</code> if the response was set
      */
-    public static boolean handleIfModifiedSince(@Nonnull SlingHttpServletRequest req, @Nonnull HttpServletResponse resp){
+    public static boolean handleIfModifiedSince(@NotNull SlingHttpServletRequest req, @NotNull HttpServletResponse resp){
         boolean responseSet=false;
         long lastModified=req.getResource().getResourceMetadata().getModificationTime();
         if (lastModified!=-1){
diff --git a/src/main/java/org/apache/sling/api/request/ResponseUtil.java b/src/main/java/org/apache/sling/api/request/ResponseUtil.java
index f557788..fa29f4b 100644
--- a/src/main/java/org/apache/sling/api/request/ResponseUtil.java
+++ b/src/main/java/org/apache/sling/api/request/ResponseUtil.java
@@ -21,7 +21,7 @@
 import java.io.IOException;
 import java.io.Writer;
 
-import javax.annotation.Nonnull;
+import org.jetbrains.annotations.NotNull;
 
 /**
  * Response related utility methods
@@ -125,7 +125,7 @@
      * @param target writer
      * @return Wrapped writer escaping XML
      */
-    public static @Nonnull Writer getXmlEscapingWriter(@Nonnull Writer target) {
+    public static @NotNull Writer getXmlEscapingWriter(@NotNull Writer target) {
         return new XmlEscapingWriter(target);
     }
 }
diff --git a/src/main/java/org/apache/sling/api/request/package-info.java b/src/main/java/org/apache/sling/api/request/package-info.java
index 06b789b..640fdd7 100644
--- a/src/main/java/org/apache/sling/api/request/package-info.java
+++ b/src/main/java/org/apache/sling/api/request/package-info.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-@Version("2.4.2")
+@Version("2.4.3")
 package org.apache.sling.api.request;
 
 import org.osgi.annotation.versioning.Version;
diff --git a/src/main/java/org/apache/sling/api/resource/AbstractResourceVisitor.java b/src/main/java/org/apache/sling/api/resource/AbstractResourceVisitor.java
index f454d67..20f8fc3 100644
--- a/src/main/java/org/apache/sling/api/resource/AbstractResourceVisitor.java
+++ b/src/main/java/org/apache/sling/api/resource/AbstractResourceVisitor.java
@@ -20,7 +20,7 @@
 
 import java.util.Iterator;
 
-import javax.annotation.Nonnull;
+import org.jetbrains.annotations.NotNull;
 
 /**
  * The <code>AbstractResourceVisitor</code> helps in traversing a
@@ -47,7 +47,7 @@
      * Visit the given resources.
      * @param children The list of resources
      */
-    protected void traverseChildren(final @Nonnull Iterator<Resource> children) {
+    protected void traverseChildren(final @NotNull Iterator<Resource> children) {
         while (children.hasNext()) {
             final Resource child = children.next();
 
@@ -59,5 +59,5 @@
      * Implement this method to do actual work on the resources.
      * @param res The resource
      */
-    protected abstract void visit(final @Nonnull Resource res);
+    protected abstract void visit(final @NotNull Resource res);
 }
diff --git a/src/main/java/org/apache/sling/api/resource/NonExistingResource.java b/src/main/java/org/apache/sling/api/resource/NonExistingResource.java
index 7e8c69e..bdb8bf4 100644
--- a/src/main/java/org/apache/sling/api/resource/NonExistingResource.java
+++ b/src/main/java/org/apache/sling/api/resource/NonExistingResource.java
@@ -18,7 +18,7 @@
  */
 package org.apache.sling.api.resource;
 
-import javax.annotation.Nonnull;
+import org.jetbrains.annotations.NotNull;
 
 /**
  * Simple helper class representing nonexisting resources.
@@ -45,7 +45,7 @@
     /**
      * @see org.apache.sling.api.resource.SyntheticResource#getResourceType()
      */
-    public final @Nonnull String getResourceType() {
+    public final @NotNull String getResourceType() {
         // overwrite to prevent overwriting of this method in extensions of
         // this class because the specific resource type is the marker of a
         // NonExistingResource
diff --git a/src/main/java/org/apache/sling/api/resource/ParametrizableResourceProvider.java b/src/main/java/org/apache/sling/api/resource/ParametrizableResourceProvider.java
index 4940919..9667dfb 100644
--- a/src/main/java/org/apache/sling/api/resource/ParametrizableResourceProvider.java
+++ b/src/main/java/org/apache/sling/api/resource/ParametrizableResourceProvider.java
@@ -20,8 +20,8 @@
 
 import java.util.Map;
 
-import javax.annotation.CheckForNull;
-import javax.annotation.Nonnull;
+import org.jetbrains.annotations.Nullable;
+import org.jetbrains.annotations.NotNull;
 
 import org.osgi.annotation.versioning.ConsumerType;
 
@@ -62,7 +62,7 @@
      *             may be thrown in case of any problem creating the <code>Resource</code> instance.
      * @see ResourceProvider#getResource(ResourceResolver, String)
      */
-    @CheckForNull Resource getResource(@Nonnull ResourceResolver resourceResolver,
-            @Nonnull String path,
-            @Nonnull Map<String, String> parameters);
+    @Nullable Resource getResource(@NotNull ResourceResolver resourceResolver,
+            @NotNull String path,
+            @NotNull Map<String, String> parameters);
 }
diff --git a/src/main/java/org/apache/sling/api/resource/Resource.java b/src/main/java/org/apache/sling/api/resource/Resource.java
index 929c163..5907637 100644
--- a/src/main/java/org/apache/sling/api/resource/Resource.java
+++ b/src/main/java/org/apache/sling/api/resource/Resource.java
@@ -18,8 +18,8 @@
 
 import java.util.Iterator;
 
-import javax.annotation.CheckForNull;
-import javax.annotation.Nonnull;
+import org.jetbrains.annotations.Nullable;
+import org.jetbrains.annotations.NotNull;
 
 import org.apache.sling.api.adapter.Adaptable;
 
@@ -66,7 +66,7 @@
      * Returns the absolute path of this resource in the resource tree.
      * @return The resource path
      */
-    @Nonnull String getPath();
+    @NotNull String getPath();
 
     /**
      * Returns the name of this resource. The name of a resource is the last
@@ -75,7 +75,7 @@
      * @return The resource name
      * @since 2.1 (Sling API Bundle 2.2.0)
      */
-    @Nonnull String getName();
+    @NotNull String getName();
 
     /**
      * Returns the parent resource or <code>null</code> if this resource
@@ -89,7 +89,7 @@
      * @since 2.1 (Sling API Bundle 2.1.0)
      * @see ResourceResolver#getParent(Resource)
      */
-    @CheckForNull Resource getParent();
+    @Nullable Resource getParent();
 
     /**
      * Returns an iterator of the direct children of this resource.
@@ -105,7 +105,7 @@
      * @since 2.1 (Sling API Bundle 2.1.0)
      * @see ResourceResolver#listChildren(Resource)
      */
-    @Nonnull Iterator<Resource> listChildren();
+    @NotNull Iterator<Resource> listChildren();
 
     /**
      * Returns an iterable of the direct children of this resource.
@@ -121,7 +121,7 @@
      * @since 2.2 (Sling API Bundle 2.2.0)
      * @see ResourceResolver#getChildren(Resource)
      */
-    @Nonnull Iterable<Resource> getChildren();
+    @NotNull Iterable<Resource> getChildren();
 
     /**
      * Returns the child at the given relative path of this resource or
@@ -139,7 +139,7 @@
      * @since 2.1 (Sling API Bundle 2.1.0)
      * @see ResourceResolver#getResource(Resource, String)
      */
-    @CheckForNull Resource getChild(@Nonnull String relPath);
+    @Nullable Resource getChild(@NotNull String relPath);
 
     /**
      * The resource type is meant to point to rendering/processing scripts,
@@ -153,7 +153,7 @@
      * existing, this method returns {@link #RESOURCE_TYPE_NON_EXISTING}.
      * @return The resource type
      */
-    @Nonnull String getResourceType();
+    @NotNull String getResourceType();
 
     /**
      * Returns the super type of the resource if the resource defines its
@@ -166,7 +166,7 @@
      * @throws IllegalStateException if this resource resolver has already been
      *             {@link ResourceResolver#close() closed}.
      */
-    @CheckForNull String getResourceSuperType();
+    @Nullable String getResourceSuperType();
 
     /**
      * Checks if the resource has any child resources.
@@ -200,14 +200,14 @@
      * @return The resource meta data
      * @see ResourceMetadata
      */
-    @Nonnull ResourceMetadata getResourceMetadata();
+    @NotNull ResourceMetadata getResourceMetadata();
 
     /**
      * Returns the {@link ResourceResolver} from which this resource has been
      * retrieved.
      * @return The resource resolver
      */
-    @Nonnull ResourceResolver getResourceResolver();
+    @NotNull ResourceResolver getResourceResolver();
 
     /**
      * Returns a value map for this resource.
@@ -215,5 +215,5 @@
      * @return A value map
      * @since 2.5 (Sling API Bundle 2.7.0)
      */
-    @Nonnull ValueMap getValueMap();
+    @NotNull ValueMap getValueMap();
 }
diff --git a/src/main/java/org/apache/sling/api/resource/ResourceDecorator.java b/src/main/java/org/apache/sling/api/resource/ResourceDecorator.java
index 57e5130..23095b5 100644
--- a/src/main/java/org/apache/sling/api/resource/ResourceDecorator.java
+++ b/src/main/java/org/apache/sling/api/resource/ResourceDecorator.java
@@ -16,8 +16,8 @@
  */
 package org.apache.sling.api.resource;
 
-import javax.annotation.CheckForNull;
-import javax.annotation.Nonnull;
+import org.jetbrains.annotations.Nullable;
+import org.jetbrains.annotations.NotNull;
 import javax.servlet.http.HttpServletRequest;
 
 import org.osgi.annotation.versioning.ConsumerType;
@@ -45,7 +45,7 @@
      * @param resource The resource to decorate
      * @return The decorated resource, the original resource or null.
      */
-    @CheckForNull Resource decorate(@Nonnull Resource resource);
+    @Nullable Resource decorate(@NotNull Resource resource);
 
     /**
      * Decorate a resource.
@@ -61,5 +61,5 @@
      * @deprecated since 2.3.0 (and JCR Resource 2.1.0), this method will not be invoked.
      */
     @Deprecated
-    @CheckForNull Resource decorate(@Nonnull Resource resource, @Nonnull HttpServletRequest request);
+    @Nullable Resource decorate(@NotNull Resource resource, @NotNull HttpServletRequest request);
 }
diff --git a/src/main/java/org/apache/sling/api/resource/ResourceMetadata.java b/src/main/java/org/apache/sling/api/resource/ResourceMetadata.java
index 039b9cd..479f1ce 100644
--- a/src/main/java/org/apache/sling/api/resource/ResourceMetadata.java
+++ b/src/main/java/org/apache/sling/api/resource/ResourceMetadata.java
@@ -25,8 +25,8 @@
 import java.util.Map;
 import java.util.Set;
 
-import javax.annotation.CheckForNull;
-import javax.annotation.Nonnull;
+import org.jetbrains.annotations.Nullable;
+import org.jetbrains.annotations.NotNull;
 
 /**
  * The <code>ResourceMetadata</code> interface defines the API for the
@@ -158,7 +158,7 @@
      * returned.
      * @return The character encoding
      */
-    public @CheckForNull String getCharacterEncoding() {
+    public @Nullable String getCharacterEncoding() {
         Object value = get(CHARACTER_ENCODING);
         if (value instanceof String) {
             return (String) value;
@@ -184,7 +184,7 @@
      * returned.
      * @return The content type
      */
-    public @CheckForNull String getContentType() {
+    public @Nullable String getContentType() {
         Object value = get(CONTENT_TYPE);
         if (value instanceof String) {
             return (String) value;
@@ -285,7 +285,7 @@
      * returned.
      * @return The resolution path
      */
-    public @CheckForNull String getResolutionPath() {
+    public @Nullable String getResolutionPath() {
         Object value = get(RESOLUTION_PATH);
         if (value instanceof String) {
             return (String) value;
@@ -311,7 +311,7 @@
      * <code>null</code> is returned.
      * @return The resolution path info
      */
-    public @CheckForNull String getResolutionPathInfo() {
+    public @Nullable String getResolutionPathInfo() {
         Object value = get(RESOLUTION_PATH_INFO);
         if (value instanceof String) {
             return (String) value;
@@ -342,7 +342,7 @@
      * @return The parameter map
      */
     @SuppressWarnings("unchecked")
-    public @CheckForNull Map<String, String> getParameterMap() {
+    public @Nullable Map<String, String> getParameterMap() {
         Object value = get(PARAMETER_MAP);
         if (value instanceof Map) {
             return (Map<String, String>) value;
@@ -377,24 +377,24 @@
     }
 
     @Override
-    public Object put(@Nonnull final String key, final Object value) {
+    public Object put(@NotNull final String key, final Object value) {
         this.checkReadOnly();
         return super.put(key, value);
     }
 
     @Override
-    public void putAll(@Nonnull final Map<? extends String, ? extends Object> m) {
+    public void putAll(@NotNull final Map<? extends String, ? extends Object> m) {
         this.checkReadOnly();
         super.putAll(m);
     }
 
     @Override
-    public Object remove(@Nonnull final Object key) {
+    public Object remove(@NotNull final Object key) {
         this.checkReadOnly();
         return super.remove(key);
     }
 
-    protected void internalPut(@Nonnull String key, Object value) {
+    protected void internalPut(@NotNull String key, Object value) {
         super.put(key, value);
     }
 
@@ -425,19 +425,19 @@
     }
 
     @Override
-    public @Nonnull Set<Map.Entry<String, Object>> entrySet() {
+    public @NotNull Set<Map.Entry<String, Object>> entrySet() {
         getLockedData();
         return lockedEntrySet != null ? lockedEntrySet : super.entrySet();
     }
 
     @Override
-    public @Nonnull Set<String> keySet() {
+    public @NotNull Set<String> keySet() {
         getLockedData();
         return lockedKeySet != null ? lockedKeySet : super.keySet();
     }
 
     @Override
-    public @Nonnull Collection<Object> values() {
+    public @NotNull Collection<Object> values() {
         getLockedData();
         return lockedValues != null ? lockedValues : super.values();
     }
diff --git a/src/main/java/org/apache/sling/api/resource/ResourceProvider.java b/src/main/java/org/apache/sling/api/resource/ResourceProvider.java
index 1ae45eb..e33cbc8 100644
--- a/src/main/java/org/apache/sling/api/resource/ResourceProvider.java
+++ b/src/main/java/org/apache/sling/api/resource/ResourceProvider.java
@@ -20,8 +20,8 @@
 
 import java.util.Iterator;
 
-import javax.annotation.CheckForNull;
-import javax.annotation.Nonnull;
+import org.jetbrains.annotations.Nullable;
+import org.jetbrains.annotations.NotNull;
 import javax.servlet.http.HttpServletRequest;
 
 import org.osgi.annotation.versioning.ConsumerType;
@@ -116,7 +116,7 @@
      * @deprecated since 2.2.0 (and JCR Resource 2.1.0), this method will not be invoked.
      */
     @Deprecated
-    @CheckForNull Resource getResource(@Nonnull ResourceResolver resourceResolver, @Nonnull HttpServletRequest request, @Nonnull String path);
+    @Nullable Resource getResource(@NotNull ResourceResolver resourceResolver, @NotNull HttpServletRequest request, @NotNull String path);
 
     /**
      * Returns a resource from this resource provider or {@code null} if
@@ -137,7 +137,7 @@
      * @throws org.apache.sling.api.SlingException
      *             may be thrown in case of any problem creating the {@code Resource} instance.
      */
-    @CheckForNull Resource getResource(@Nonnull ResourceResolver resourceResolver, @Nonnull String path);
+    @Nullable Resource getResource(@NotNull ResourceResolver resourceResolver, @NotNull String path);
 
     /**
      * Returns an {@code Iterator} of {@link Resource} objects loaded from
@@ -168,5 +168,5 @@
      * @throws org.apache.sling.api.SlingException
      *             If any error occurs acquiring the child resource iterator.
      */
-    @CheckForNull Iterator<Resource> listChildren(@Nonnull Resource parent);
+    @Nullable Iterator<Resource> listChildren(@NotNull Resource parent);
 }
diff --git a/src/main/java/org/apache/sling/api/resource/ResourceProviderFactory.java b/src/main/java/org/apache/sling/api/resource/ResourceProviderFactory.java
index e3704bb..723489e 100644
--- a/src/main/java/org/apache/sling/api/resource/ResourceProviderFactory.java
+++ b/src/main/java/org/apache/sling/api/resource/ResourceProviderFactory.java
@@ -20,7 +20,7 @@
 
 import java.util.Map;
 
-import javax.annotation.Nonnull;
+import org.jetbrains.annotations.NotNull;
 
 import org.osgi.annotation.versioning.ConsumerType;
 
@@ -102,7 +102,7 @@
      *      href="http://sling.apache.org/documentation/the-sling-engine/service-authentication.html">Service
      *      Authentication</a>
      */
-    @Nonnull ResourceProvider getResourceProvider(Map<String, Object> authenticationInfo) throws LoginException;
+    @NotNull ResourceProvider getResourceProvider(Map<String, Object> authenticationInfo) throws LoginException;
 
     /**
      * Returns a new {@link ResourceProvider} instance with administrative
@@ -135,5 +135,5 @@
      *             {@link ResourceResolverFactory#SUBSERVICE} properties.
      */
     @Deprecated
-    @Nonnull ResourceProvider getAdministrativeResourceProvider(Map<String, Object> authenticationInfo) throws LoginException;
+    @NotNull ResourceProvider getAdministrativeResourceProvider(Map<String, Object> authenticationInfo) throws LoginException;
 }
diff --git a/src/main/java/org/apache/sling/api/resource/ResourceResolver.java b/src/main/java/org/apache/sling/api/resource/ResourceResolver.java
index 36da95d..2899ea0 100644
--- a/src/main/java/org/apache/sling/api/resource/ResourceResolver.java
+++ b/src/main/java/org/apache/sling/api/resource/ResourceResolver.java
@@ -22,8 +22,8 @@
 import java.util.Iterator;
 import java.util.Map;
 
-import javax.annotation.CheckForNull;
-import javax.annotation.Nonnull;
+import org.jetbrains.annotations.Nullable;
+import org.jetbrains.annotations.NotNull;
 import javax.servlet.http.HttpServletRequest;
 
 import org.apache.sling.api.adapter.Adaptable;
@@ -198,7 +198,7 @@
      *             {@link #close() closed}.
      * @since 2.0.4 (Sling API Bundle 2.0.4)
      */
-    @Nonnull Resource resolve(@Nonnull HttpServletRequest request, @Nonnull String absPath);
+    @NotNull Resource resolve(@NotNull HttpServletRequest request, @NotNull String absPath);
 
     /**
      * Resolves the resource from the given absolute path. Returns a
@@ -226,7 +226,7 @@
      * @throws IllegalStateException if this resource resolver has already been
      *             {@link #close() closed}.
      */
-    @Nonnull Resource resolve(@Nonnull String absPath);
+    @NotNull Resource resolve(@NotNull String absPath);
 
     /**
      * Resolves the resource from the given <code>HttpServletRequest</code>.
@@ -254,7 +254,7 @@
      *             instead.
      */
     @Deprecated
-    @Nonnull Resource resolve(@Nonnull HttpServletRequest request);
+    @NotNull Resource resolve(@NotNull HttpServletRequest request);
 
     /**
      * Returns a path mapped from the (resource) path applying the reverse
@@ -277,7 +277,7 @@
      * @throws IllegalStateException if this resource resolver has already been
      *             {@link #close() closed}.
      */
-    @Nonnull String map(@Nonnull String resourcePath);
+    @NotNull String map(@NotNull String resourcePath);
 
     /**
      * Returns an URL mapped from the (resource) path applying the reverse
@@ -306,7 +306,7 @@
      *             {@link #close() closed}.
      * @since 2.0.4 (Sling API Bundle 2.0.4)
      */
-    @CheckForNull String map(@Nonnull HttpServletRequest request, @Nonnull String resourcePath);
+    @Nullable String map(@NotNull HttpServletRequest request, @NotNull String resourcePath);
 
     /**
      * Returns a {@link Resource} object for data located at the given path.
@@ -333,7 +333,7 @@
      * @throws IllegalStateException if this resource resolver has already been
      *             {@link #close() closed}.
      */
-    @CheckForNull Resource getResource(@Nonnull String path);
+    @Nullable Resource getResource(@NotNull String path);
 
     /**
      * Returns a {@link Resource} object for data located at the given path.
@@ -363,7 +363,7 @@
      * @throws IllegalStateException if this resource resolver has already been
      *             {@link #close() closed}.
      */
-    @CheckForNull Resource getResource(Resource base, @Nonnull String path);
+    @Nullable Resource getResource(Resource base, @NotNull String path);
 
     /**
      * Returns the search path used by the {@link #getResource(String)} method
@@ -387,7 +387,7 @@
      * @throws IllegalStateException if this resource resolver has already been
      *             {@link #close() closed}.
      */
-    @Nonnull String[] getSearchPath();
+    @NotNull String[] getSearchPath();
 
     /**
      * Returns an <code>Iterator</code> of {@link Resource} objects loaded from
@@ -407,7 +407,7 @@
      * @throws IllegalStateException if this resource resolver has already been
      *             {@link #close() closed}.
      */
-    @Nonnull Iterator<Resource> listChildren(@Nonnull Resource parent);
+    @NotNull Iterator<Resource> listChildren(@NotNull Resource parent);
 
     /**
      * Returns the parent resource of this resource.
@@ -425,7 +425,7 @@
      *             {@link #close() closed}.
      * @since 2.9 (Sling API Bundle 2.11.0)
      */
-    @CheckForNull Resource getParent(@Nonnull Resource child);
+    @Nullable Resource getParent(@NotNull Resource child);
 
     /**
      * Returns an <code>Iterable</code> of {@link Resource} objects loaded from
@@ -446,7 +446,7 @@
      *             {@link #close() closed}.
      * @since 2.2 (Sling API Bundle 2.2.0)
      */
-    @Nonnull Iterable<Resource> getChildren(@Nonnull Resource parent);
+    @NotNull Iterable<Resource> getChildren(@NotNull Resource parent);
 
     /**
      * Searches for resources using the given query formulated in the given
@@ -473,7 +473,7 @@
      * @throws IllegalStateException if this resource resolver has already been
      *             {@link #close() closed}.
      */
-    @Nonnull Iterator<Resource> findResources(@Nonnull String query, String language);
+    @NotNull Iterator<Resource> findResources(@NotNull String query, String language);
 
     /**
      * Queries the storage using the given query formulated in the given
@@ -503,7 +503,7 @@
      * @throws IllegalStateException if this resource resolver has already been
      *             {@link #close() closed}.
      */
-    @Nonnull Iterator<Map<String, Object>> queryResources(@Nonnull String query, String language);
+    @NotNull Iterator<Map<String, Object>> queryResources(@NotNull String query, String language);
 
     /**
      * Checks if the specified resource has any direct child resources.
@@ -515,7 +515,7 @@
      *             {@link #close() closed}.
      * @since 2.4.4 (Sling API Bundle 2.5.0)
      */
-    boolean hasChildren(@Nonnull Resource resource);
+    boolean hasChildren(@NotNull Resource resource);
 
     /**
      * Returns a new <code>ResourceResolver</code> instance based on the given
@@ -545,7 +545,7 @@
      *             {@link #close() closed}.
      * @since 2.1 (Sling API Bundle 2.1.0)
      */
-    @Nonnull ResourceResolver clone(Map<String, Object> authenticationInfo)
+    @NotNull ResourceResolver clone(Map<String, Object> authenticationInfo)
             throws LoginException;
 
     /**
@@ -591,7 +591,7 @@
      *             {@link #close() closed}.
      * @since 2.1 (Sling API Bundle 2.1.0)
      */
-    @CheckForNull String getUserID();
+    @Nullable String getUserID();
 
     /**
      * Returns an iterator of attribute names whose value can be retrieved
@@ -602,7 +602,7 @@
      * @throws IllegalStateException if this resource resolver has already been
      *             {@link #close() closed}.
      */
-    @Nonnull Iterator<String> getAttributeNames();
+    @NotNull Iterator<String> getAttributeNames();
 
     /**
      * Returns the value of the given resource resolver attribute or
@@ -617,7 +617,7 @@
      * @throws IllegalStateException if this resource resolver has already been
      *             {@link #close() closed}.
      */
-    @CheckForNull Object getAttribute(@Nonnull String name);
+    @Nullable Object getAttribute(@NotNull String name);
 
     /**
      * Delete the resource
@@ -636,7 +636,7 @@
      *             {@link #close() closed}.
      * @since 2.2 (Sling API Bundle 2.2.0)
      */
-    void delete(@Nonnull Resource resource)
+    void delete(@NotNull Resource resource)
     throws PersistenceException;
 
     /**
@@ -657,7 +657,7 @@
      *             {@link #close() closed}.
      * @since 2.2 (Sling API Bundle 2.2.0)
      */
-    @Nonnull Resource create(@Nonnull Resource parent, @Nonnull String name, Map<String, Object> properties)
+    @NotNull Resource create(@NotNull Resource parent, @NotNull String name, Map<String, Object> properties)
     throws PersistenceException;
 
     /**
@@ -702,7 +702,7 @@
      *             {@link #close() closed}.
      * @since 2.3 (Sling API Bundle 2.4.0)
      */
-    @CheckForNull String getParentResourceType(final Resource resource);
+    @Nullable String getParentResourceType(final Resource resource);
 
     /**
      * Returns the super type of the given resource type. This method converts
@@ -720,7 +720,7 @@
      *             {@link #close() closed}.
      * @since 2.3 (Sling API Bundle 2.4.0)
      */
-    public @CheckForNull String getParentResourceType(final String resourceType);
+    public @Nullable String getParentResourceType(final String resourceType);
 
     /**
      * Returns <code>true</code> if the resource type or any of the resource's
diff --git a/src/main/java/org/apache/sling/api/resource/ResourceResolverFactory.java b/src/main/java/org/apache/sling/api/resource/ResourceResolverFactory.java
index ee26de4..111c34c 100644
--- a/src/main/java/org/apache/sling/api/resource/ResourceResolverFactory.java
+++ b/src/main/java/org/apache/sling/api/resource/ResourceResolverFactory.java
@@ -21,8 +21,8 @@
 import java.util.List;
 import java.util.Map;
 
-import javax.annotation.CheckForNull;
-import javax.annotation.Nonnull;
+import org.jetbrains.annotations.Nullable;
+import org.jetbrains.annotations.NotNull;
 
 import org.osgi.annotation.versioning.ProviderType;
 
@@ -121,7 +121,7 @@
      *             <code>ResourceResolver</code> with the provided credential
      *             data.
      */
-    @Nonnull ResourceResolver getResourceResolver(Map<String, Object> authenticationInfo) throws LoginException;
+    @NotNull ResourceResolver getResourceResolver(Map<String, Object> authenticationInfo) throws LoginException;
 
     /**
      * Returns a new {@link ResourceResolver} instance with administrative
@@ -158,7 +158,7 @@
      *             the {@link #getServiceResourceResolver(Map)} instead.
      */
     @Deprecated
-    @Nonnull ResourceResolver getAdministrativeResourceResolver(Map<String, Object> authenticationInfo) throws LoginException;
+    @NotNull ResourceResolver getAdministrativeResourceResolver(Map<String, Object> authenticationInfo) throws LoginException;
 
     /**
      * Returns a new {@link ResourceResolver} instance with privileges assigned
@@ -187,7 +187,7 @@
      *      href="http://sling.apache.org/documentation/the-sling-engine/service-authentication.html">Service
      *      Authentication</a>
      */
-    @Nonnull ResourceResolver getServiceResourceResolver(Map<String, Object> authenticationInfo) throws LoginException;
+    @NotNull ResourceResolver getServiceResourceResolver(Map<String, Object> authenticationInfo) throws LoginException;
 
     /**
      * Returns the {@link ResourceResolver} for the current thread.
@@ -204,7 +204,7 @@
      *
      * @since 2.6 (Sling API Bundle 2.8.0)
      */
-    @CheckForNull ResourceResolver getThreadResourceResolver();
+    @Nullable ResourceResolver getThreadResourceResolver();
 
     /**
      * Returns the search path used by the resource resolvers to search for
@@ -219,5 +219,5 @@
      * @return An immutable list containing the search path
      * @since 2.11 (Sling API Bundle 2.18.0)
      */
-    @Nonnull List<String> getSearchPath();
+    @NotNull List<String> getSearchPath();
 }
diff --git a/src/main/java/org/apache/sling/api/resource/ResourceUtil.java b/src/main/java/org/apache/sling/api/resource/ResourceUtil.java
index 315355e..c1a0738 100644
--- a/src/main/java/org/apache/sling/api/resource/ResourceUtil.java
+++ b/src/main/java/org/apache/sling/api/resource/ResourceUtil.java
@@ -25,8 +25,8 @@
 import java.util.Map;
 import java.util.NoSuchElementException;
 
-import javax.annotation.CheckForNull;
-import javax.annotation.Nonnull;
+import org.jetbrains.annotations.Nullable;
+import org.jetbrains.annotations.NotNull;
 
 import org.apache.sling.api.wrappers.ValueMapDecorator;
 
@@ -47,7 +47,7 @@
      * @param path The path to normalize
      * @return The normalized path or {@code null}.
      */
-    public static @CheckForNull String normalize(@Nonnull String path) {
+    public static @Nullable String normalize(@NotNull String path) {
 
         // don't care for empty paths
         if (path.length() == 0) {
@@ -146,7 +146,7 @@
      *             {@link #normalize(String)} method.
      * @throws NullPointerException If <code>path</code> is <code>null</code>.
      */
-    public static @CheckForNull String getParent(@Nonnull String path) {
+    public static @Nullable String getParent(@NotNull String path) {
         if ("/".equals(path)) {
             return null;
         }
@@ -234,7 +234,7 @@
      * @deprecated since 2.1.0, use {@link Resource#getParent()} instead
      */
     @Deprecated
-    public static @CheckForNull Resource getParent(@Nonnull Resource rsrc) {
+    public static @Nullable Resource getParent(@NotNull Resource rsrc) {
         return rsrc.getParent();
     }
 
@@ -247,7 +247,7 @@
      * @deprecated since 2.1.0, use {@link Resource#getName()} instead
      */
     @Deprecated
-    public static @Nonnull String getName(@Nonnull Resource rsrc) {
+    public static @NotNull String getName(@NotNull Resource rsrc) {
         /*
          * Same as AbstractResource.getName() implementation to prevent problems
          * if there are implementations of the pre-2.1.0 Resource interface in
@@ -269,7 +269,7 @@
      *             {@link #normalize(String)} method.
      * @throws NullPointerException If <code>path</code> is <code>null</code>.
      */
-    public static @Nonnull String getName(@Nonnull String path) {
+    public static @NotNull String getName(@NotNull String path) {
         if ("/".equals(path)) {
             return "";
         }
@@ -298,7 +298,7 @@
      *         <code>null</code> or not an instance of the
      *         <code>org.apache.sling.resource.SyntheticResource</code> class.
      */
-    public static boolean isSyntheticResource(@Nonnull Resource res) {
+    public static boolean isSyntheticResource(@NotNull Resource res) {
         if (res instanceof SyntheticResource) {
             return true;
         }
@@ -332,7 +332,7 @@
      *         resource.
      * @throws NullPointerException if <code>res</code> is <code>null</code>.
      */
-    public static boolean isStarResource(@Nonnull Resource res) {
+    public static boolean isStarResource(@NotNull Resource res) {
         return res.getPath().endsWith("/*");
     }
 
@@ -350,7 +350,7 @@
      *         non-existing resource.
      * @throws NullPointerException if <code>res</code> is <code>null</code>.
      */
-    public static boolean isNonExistingResource(@Nonnull Resource res) {
+    public static boolean isNonExistingResource(@NotNull Resource res) {
         return Resource.RESOURCE_TYPE_NON_EXISTING.equals(res.getResourceType());
     }
 
@@ -372,7 +372,7 @@
      * @deprecated since 2.1.0, use {@link Resource#listChildren()} instead
      */
     @Deprecated
-    public static @Nonnull Iterator<Resource> listChildren(@Nonnull Resource parent) {
+    public static @NotNull Iterator<Resource> listChildren(@NotNull Resource parent) {
         return parent.listChildren();
     }
 
@@ -387,7 +387,7 @@
      * @param res The <code>Resource</code> to adapt to the value map.
      * @return A value map.
      */
-    public static @Nonnull ValueMap getValueMap(final Resource res) {
+    public static @NotNull ValueMap getValueMap(final Resource res) {
         if ( res == null ) {
             // use empty map
             return new ValueMapDecorator(new HashMap<String, Object>());
@@ -404,7 +404,7 @@
      * @return The resource type as a path.
      * @since 2.0.6 (Sling API Bundle 2.0.6)
      */
-    public static @Nonnull String resourceTypeToPath(@Nonnull final String type) {
+    public static @NotNull String resourceTypeToPath(@NotNull final String type) {
         return type.replace(':', '/');
     }
 
@@ -432,8 +432,8 @@
      * @deprecated Use {@link ResourceResolver#getParentResourceType(String)}
      */
     @Deprecated
-    public static @CheckForNull String getResourceSuperType(
-            final @Nonnull ResourceResolver resourceResolver, final String resourceType) {
+    public static @Nullable String getResourceSuperType(
+            final @NotNull ResourceResolver resourceResolver, final String resourceType) {
         return resourceResolver.getParentResourceType(resourceType);
     }
 
@@ -453,7 +453,7 @@
      * @deprecated Use {@link ResourceResolver#getParentResourceType(Resource)}
      */
     @Deprecated
-    public static @CheckForNull String findResourceSuperType(@Nonnull final Resource resource) {
+    public static @Nullable String findResourceSuperType(@NotNull final Resource resource) {
         if ( resource == null ) {
             return null;
         }
@@ -481,7 +481,7 @@
      * @deprecated Use {@link ResourceResolver#isResourceType(Resource, String)}
      */
     @Deprecated
-    public static boolean isA(@Nonnull final Resource resource, final String resourceType) {
+    public static boolean isA(@NotNull final Resource resource, final String resourceType) {
         if ( resource == null ) {
             return false;
         }
@@ -502,7 +502,7 @@
      * @return An iterator of the adapted objects
      * @since 2.0.6 (Sling API Bundle 2.0.6)
      */
-    public static @Nonnull <T> Iterator<T> adaptTo(final @Nonnull Iterator<Resource> iterator,
+    public static @NotNull <T> Iterator<T> adaptTo(final @NotNull Iterator<Resource> iterator,
             final Class<T> type) {
         return new Iterator<T>() {
 
@@ -555,9 +555,9 @@
      * @throws PersistenceException If a persistence error occurs.
      * @since 2.3.0  (Sling API Bundle 2.4.0)
      */
-    public static @Nonnull Resource getOrCreateResource(
-                            final @Nonnull ResourceResolver resolver,
-                            final @Nonnull String path,
+    public static @NotNull Resource getOrCreateResource(
+                            final @NotNull ResourceResolver resolver,
+                            final @NotNull String path,
                             final String resourceType,
                             final String intermediateResourceType,
                             final boolean autoCommit)
@@ -590,9 +590,9 @@
      * @throws PersistenceException If a persistence error occurs.
      * @since 2.3.0  (Sling API Bundle 2.4.0)
      */
-    public static @Nonnull Resource getOrCreateResource(
-            final @Nonnull ResourceResolver resolver,
-            final @Nonnull String path,
+    public static @NotNull Resource getOrCreateResource(
+            final @NotNull ResourceResolver resolver,
+            final @NotNull String path,
             final Map<String, Object> resourceProperties,
             final String intermediateResourceType,
             final boolean autoCommit)
@@ -748,7 +748,7 @@
      * @return The unwrapped resource
      * @since 2.5  (Sling API Bundle 2.7.0)
      */
-    public static @Nonnull Resource unwrap(final @Nonnull Resource rsrc) {
+    public static @NotNull Resource unwrap(final @NotNull Resource rsrc) {
         Resource result = rsrc;
         while ( result instanceof ResourceWrapper ) {
             result = ((ResourceWrapper)result).getResource();
@@ -774,7 +774,7 @@
             this.max = (batchSize < 1 ? 50 : batchSize);
         }
 
-        public void delete(@Nonnull final Resource rsrc)
+        public void delete(@NotNull final Resource rsrc)
         throws PersistenceException {
             final ResourceResolver resolver = rsrc.getResourceResolver();
             for(final Resource child : rsrc.getChildren()) {
@@ -801,7 +801,7 @@
      * @return A new batch resource remover.
      * Since 2.6
      */
-    public static @Nonnull BatchResourceRemover getBatchResourceRemover(final int threshold) {
+    public static @NotNull BatchResourceRemover getBatchResourceRemover(final int threshold) {
         return new BatchResourceRemover(threshold);
     }
 }
diff --git a/src/main/java/org/apache/sling/api/resource/ResourceWrapper.java b/src/main/java/org/apache/sling/api/resource/ResourceWrapper.java
index 1869a9d..27b4ce4 100644
--- a/src/main/java/org/apache/sling/api/resource/ResourceWrapper.java
+++ b/src/main/java/org/apache/sling/api/resource/ResourceWrapper.java
@@ -20,7 +20,7 @@
 
 import java.util.Iterator;
 
-import javax.annotation.Nonnull;
+import org.jetbrains.annotations.NotNull;
 
 /**
  * The <code>ResourceWrapper</code> is a wrapper for any <code>Resource</code>
@@ -38,7 +38,7 @@
      * <code>resource</code>.
      * @param resource The resource to wrap
      */
-    public ResourceWrapper(@Nonnull final Resource resource) {
+    public ResourceWrapper(@NotNull final Resource resource) {
         this.resource = resource;
     }
 
diff --git a/src/main/java/org/apache/sling/api/resource/SyntheticResource.java b/src/main/java/org/apache/sling/api/resource/SyntheticResource.java
index fc9b59b..67f4d7c 100644
--- a/src/main/java/org/apache/sling/api/resource/SyntheticResource.java
+++ b/src/main/java/org/apache/sling/api/resource/SyntheticResource.java
@@ -18,7 +18,7 @@
  */
 package org.apache.sling.api.resource;
 
-import javax.annotation.Nonnull;
+import org.jetbrains.annotations.NotNull;
 
 /**
  * The <code>SyntheticResource</code> class is a simple implementation of the
@@ -74,7 +74,7 @@
      * @see org.apache.sling.api.resource.Resource#getPath()
      */
     @Override
-    public @Nonnull String getPath() {
+    public @NotNull String getPath() {
         return path;
     }
 
@@ -82,7 +82,7 @@
      * @see org.apache.sling.api.resource.Resource#getResourceType()
      */
     @Override
-    public @Nonnull String getResourceType() {
+    public @NotNull String getResourceType() {
         return resourceType;
     }
 
@@ -99,7 +99,7 @@
      * resource as the {@link ResourceMetadata#RESOLUTION_PATH} property.
      */
     @Override
-    public @Nonnull ResourceMetadata getResourceMetadata() {
+    public @NotNull ResourceMetadata getResourceMetadata() {
         return resourceMetadata;
     }
 
@@ -108,7 +108,7 @@
      * is related or <code>null</code> if none.
      */
     @Override
-    public @Nonnull ResourceResolver getResourceResolver() {
+    public @NotNull ResourceResolver getResourceResolver() {
         return resourceResolver;
     }
 
diff --git a/src/main/java/org/apache/sling/api/resource/ValueMap.java b/src/main/java/org/apache/sling/api/resource/ValueMap.java
index 5c5f2de..17bbaa3 100644
--- a/src/main/java/org/apache/sling/api/resource/ValueMap.java
+++ b/src/main/java/org/apache/sling/api/resource/ValueMap.java
@@ -21,8 +21,8 @@
 import java.util.Collections;
 import java.util.Map;
 
-import javax.annotation.CheckForNull;
-import javax.annotation.Nonnull;
+import org.jetbrains.annotations.Nullable;
+import org.jetbrains.annotations.NotNull;
 
 import org.apache.sling.api.wrappers.ValueMapDecorator;
 
@@ -65,7 +65,7 @@
      * @return Return named value converted to type T or <code>null</code> if
      *         non existing or can't be converted.
      */
-    @CheckForNull <T> T get(@Nonnull String name, @Nonnull Class<T> type);
+    @Nullable <T> T get(@NotNull String name, @NotNull Class<T> type);
 
     /**
      * Get a named property and convert it into the given type.
@@ -87,5 +87,5 @@
      * @return Return named value converted to type T or the default value if
      *         non existing or can't be converted.
      */
-    @Nonnull <T> T get(@Nonnull String name, @Nonnull T defaultValue);
+    @NotNull <T> T get(@NotNull String name, @NotNull T defaultValue);
 }
diff --git a/src/main/java/org/apache/sling/api/resource/observation/ResourceChange.java b/src/main/java/org/apache/sling/api/resource/observation/ResourceChange.java
index f05d47e..da07a80 100644
--- a/src/main/java/org/apache/sling/api/resource/observation/ResourceChange.java
+++ b/src/main/java/org/apache/sling/api/resource/observation/ResourceChange.java
@@ -20,8 +20,8 @@
 
 import java.util.Set;
 
-import javax.annotation.CheckForNull;
-import javax.annotation.Nonnull;
+import org.jetbrains.annotations.Nullable;
+import org.jetbrains.annotations.NotNull;
 
 import org.osgi.annotation.versioning.ConsumerType;
 
@@ -86,8 +86,8 @@
      * @param isExternal {code true} if the change happened on another node
      * @since 1.2.0 (Sling API Bundle 2.15.0)
      */
-    public ResourceChange(final @Nonnull ChangeType changeType,
-            final @Nonnull String path,
+    public ResourceChange(final @NotNull ChangeType changeType,
+            final @NotNull String path,
             final boolean isExternal) {
         this.path = path;
         this.changeType = changeType;
@@ -109,8 +109,8 @@
      * @deprecated The sets of property names are not supported anymore.
      */
     @Deprecated
-    public ResourceChange(final @Nonnull ChangeType changeType,
-            final @Nonnull String path,
+    public ResourceChange(final @NotNull ChangeType changeType,
+            final @NotNull String path,
             final boolean isExternal,
             final Set<String> addedPropertyNames,
             final Set<String> changedPropertyNames,
@@ -127,7 +127,7 @@
      * Get the resource path.
      * @return The path to the resource.
      */
-    public @Nonnull String getPath() {
+    public @NotNull String getPath() {
         return this.path;
     }
 
@@ -135,7 +135,7 @@
      * Get the user id of the user initiating the change
      * @return The user id or {@code null} if it's not available.
      */
-    public @CheckForNull String getUserId() {
+    public @Nullable String getUserId() {
         return null;
     }
 
@@ -151,7 +151,7 @@
      * Get the type of change
      * @return The type of change
      */
-    public @Nonnull ChangeType getType() {
+    public @NotNull ChangeType getType() {
         return this.changeType;
     }
 
@@ -169,7 +169,7 @@
      *             event, this should not be used anymore.
      */
     @Deprecated
-    public @CheckForNull Set<String> getChangedPropertyNames() {
+    public @Nullable Set<String> getChangedPropertyNames() {
         return this.changedPropertyNames;
     }
 
@@ -187,7 +187,7 @@
      *             event, this should not be used anymore.
      */
     @Deprecated
-    public @CheckForNull Set<String> getAddedPropertyNames() {
+    public @Nullable Set<String> getAddedPropertyNames() {
         return this.addedPropertyNames;
     }
 
@@ -205,7 +205,7 @@
      *             event, this should not be used anymore.
      */
     @Deprecated
-    public @CheckForNull Set<String> getRemovedPropertyNames() {
+    public @Nullable Set<String> getRemovedPropertyNames() {
         return this.removedPropertyNames;
     }
 
diff --git a/src/main/java/org/apache/sling/api/resource/observation/ResourceChangeListener.java b/src/main/java/org/apache/sling/api/resource/observation/ResourceChangeListener.java
index 5292247..0d9a184 100644
--- a/src/main/java/org/apache/sling/api/resource/observation/ResourceChangeListener.java
+++ b/src/main/java/org/apache/sling/api/resource/observation/ResourceChangeListener.java
@@ -20,7 +20,7 @@
 
 import java.util.List;
 
-import javax.annotation.Nonnull;
+import org.jetbrains.annotations.NotNull;
 
 import org.osgi.annotation.versioning.ConsumerType;
 
@@ -119,5 +119,5 @@
      *
      * @param changes The changes list. This list is immutable.
      */
-    void onChange(@Nonnull List<ResourceChange> changes);
+    void onChange(@NotNull List<ResourceChange> changes);
 }
diff --git a/src/main/java/org/apache/sling/api/resource/observation/package-info.java b/src/main/java/org/apache/sling/api/resource/observation/package-info.java
index a35c5c5..4eb0cdb 100644
--- a/src/main/java/org/apache/sling/api/resource/observation/package-info.java
+++ b/src/main/java/org/apache/sling/api/resource/observation/package-info.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-@Version("1.2.0")
+@Version("1.2.1")
 package org.apache.sling.api.resource.observation;
 
 import org.osgi.annotation.versioning.Version;
diff --git a/src/main/java/org/apache/sling/api/resource/package-info.java b/src/main/java/org/apache/sling/api/resource/package-info.java
index 1ac279f..a6c739d 100644
--- a/src/main/java/org/apache/sling/api/resource/package-info.java
+++ b/src/main/java/org/apache/sling/api/resource/package-info.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-@Version("2.11")
+@Version("2.11.1")
 package org.apache.sling.api.resource;
 
 import org.osgi.annotation.versioning.Version;
diff --git a/src/main/java/org/apache/sling/api/resource/path/Path.java b/src/main/java/org/apache/sling/api/resource/path/Path.java
index cef03e5..fc12efb 100644
--- a/src/main/java/org/apache/sling/api/resource/path/Path.java
+++ b/src/main/java/org/apache/sling/api/resource/path/Path.java
@@ -20,7 +20,7 @@
 
 import java.util.regex.Pattern;
 
-import javax.annotation.Nonnull;
+import org.jetbrains.annotations.NotNull;
 
 /**
  * Simple helper class for path matching.
@@ -54,7 +54,7 @@
      * @throws NullPointerException If {@code otherPath} is {@code null}
      * @throws IllegalArgumentException If the provided path is not absolute, or if the glob pattern does not start with a slash.
      */
-    public Path(@Nonnull final String path) {
+    public Path(@NotNull final String path) {
         if ( path.equals("/") ) {
             this.path = "/";
         } else if ( path.endsWith("/") ) {
@@ -179,7 +179,7 @@
     }
 
     @Override
-    public int compareTo(@Nonnull final Path o) {
+    public int compareTo(@NotNull final Path o) {
         return this.getPath().compareTo(o.getPath());
     }
 
diff --git a/src/main/java/org/apache/sling/api/resource/path/package-info.java b/src/main/java/org/apache/sling/api/resource/path/package-info.java
index d5761a9..1c24194 100644
--- a/src/main/java/org/apache/sling/api/resource/path/package-info.java
+++ b/src/main/java/org/apache/sling/api/resource/path/package-info.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-@Version("1.2.0")
+@Version("1.2.1")
 package org.apache.sling.api.resource.path;
 
 import org.osgi.annotation.versioning.Version;
diff --git a/src/main/java/org/apache/sling/api/scripting/SlingBindings.java b/src/main/java/org/apache/sling/api/scripting/SlingBindings.java
index b98a119..4212390 100644
--- a/src/main/java/org/apache/sling/api/scripting/SlingBindings.java
+++ b/src/main/java/org/apache/sling/api/scripting/SlingBindings.java
@@ -22,7 +22,7 @@
 import java.io.Reader;
 import java.util.HashMap;
 
-import javax.annotation.CheckForNull;
+import org.jetbrains.annotations.Nullable;
 
 import org.apache.sling.api.SlingHttpServletRequest;
 import org.apache.sling.api.SlingHttpServletResponse;
@@ -225,7 +225,7 @@
      * is returned.
      * @return The logger or {@code null}
      */
-    public @CheckForNull Logger getLog() {
+    public @Nullable Logger getLog() {
         return this.get(LOG, Logger.class);
     }
 
@@ -244,7 +244,7 @@
      * returned.
      * @return The print writer or {@code null}
      */
-    public @CheckForNull PrintWriter getOut() {
+    public @Nullable PrintWriter getOut() {
         return this.get(OUT, PrintWriter.class);
     }
 
@@ -263,7 +263,7 @@
      * <code>null</code> is returned.
      * @return The request object or {@code null}
      */
-    public @CheckForNull SlingHttpServletRequest getRequest() {
+    public @Nullable SlingHttpServletRequest getRequest() {
         return this.get(REQUEST, SlingHttpServletRequest.class);
     }
 
@@ -282,7 +282,7 @@
      * returned.
      * @return The reader or {@code null}.
      */
-    public @CheckForNull Reader getReader() {
+    public @Nullable Reader getReader() {
         return this.get(READER, Reader.class);
     }
 
@@ -301,7 +301,7 @@
      * returned.
      * @return The resource or {@code null}.
      */
-    public @CheckForNull Resource getResource() {
+    public @Nullable Resource getResource() {
         return this.get(RESOURCE, Resource.class);
     }
 
@@ -319,7 +319,7 @@
      * returned.
      * @return the bound {@link ResourceResolver} if one exists, <code>null</code> otherwise
      */
-    public @CheckForNull ResourceResolver getResourceResolver() {
+    public @Nullable ResourceResolver getResourceResolver() {
         return this.get(RESOLVER, ResourceResolver.class);
     }
 
@@ -338,7 +338,7 @@
      * <code>null</code> is returned.
      * @return The response or {@code null}.
      */
-    public @CheckForNull SlingHttpServletResponse getResponse() {
+    public @Nullable SlingHttpServletResponse getResponse() {
         return this.get(RESPONSE, SlingHttpServletResponse.class);
     }
 
@@ -357,7 +357,7 @@
      * is returned.
      * @return The script helper or {@code null}.
      */
-    public @CheckForNull SlingScriptHelper getSling() {
+    public @Nullable SlingScriptHelper getSling() {
         return this.get(SLING, SlingScriptHelper.class);
     }
 }
diff --git a/src/main/java/org/apache/sling/api/scripting/SlingScript.java b/src/main/java/org/apache/sling/api/scripting/SlingScript.java
index 18216aa..08a7041 100644
--- a/src/main/java/org/apache/sling/api/scripting/SlingScript.java
+++ b/src/main/java/org/apache/sling/api/scripting/SlingScript.java
@@ -18,7 +18,7 @@
  */
 package org.apache.sling.api.scripting;
 
-import javax.annotation.Nonnull;
+import org.jetbrains.annotations.NotNull;
 
 import org.apache.sling.api.resource.Resource;
 
@@ -42,7 +42,7 @@
      * Returns the Resource providing the script source code.
      * @return The script resource.
      */
-    @Nonnull Resource getScriptResource();
+    @NotNull Resource getScriptResource();
 
     /**
      * Evaluates this script using the bound variables as global variables to
@@ -57,7 +57,7 @@
      *             script or preparing the script execution. The cause of the
      *             evaluation exception is available as the exception cause.
      */
-    Object eval(@Nonnull SlingBindings props);
+    Object eval(@NotNull SlingBindings props);
 
     /**
      * Evaluates this script using the bound variables as global variables to
@@ -74,5 +74,5 @@
      *             script or preparing the script execution. The cause of the
      *             evaluation exception is available as the exception cause.
      */
-    Object call(@Nonnull SlingBindings props, @Nonnull String method, Object... args);
+    Object call(@NotNull SlingBindings props, @NotNull String method, Object... args);
 }
diff --git a/src/main/java/org/apache/sling/api/scripting/SlingScriptHelper.java b/src/main/java/org/apache/sling/api/scripting/SlingScriptHelper.java
index ba14c45..98b1ef7 100644
--- a/src/main/java/org/apache/sling/api/scripting/SlingScriptHelper.java
+++ b/src/main/java/org/apache/sling/api/scripting/SlingScriptHelper.java
@@ -18,8 +18,8 @@
  */
 package org.apache.sling.api.scripting;
 
-import javax.annotation.CheckForNull;
-import javax.annotation.Nonnull;
+import org.jetbrains.annotations.Nullable;
+import org.jetbrains.annotations.NotNull;
 
 import org.apache.sling.api.SlingHttpServletRequest;
 import org.apache.sling.api.SlingHttpServletResponse;
@@ -41,20 +41,20 @@
      * request.
      * @return The request
      */
-    @Nonnull SlingHttpServletRequest getRequest();
+    @NotNull SlingHttpServletRequest getRequest();
 
     /**
      * Returns the {@link SlingHttpServletResponse} representing the output of
      * the request.
      * @return The response
      */
-    @Nonnull SlingHttpServletResponse getResponse();
+    @NotNull SlingHttpServletResponse getResponse();
 
     /**
      * Returns the {@link SlingScript} being called to handle the request.
      * @return The script
      */
-    @Nonnull SlingScript getScript();
+    @NotNull SlingScript getScript();
 
     /**
      * Same as {@link #include(String,RequestDispatcherOptions)}, but using
@@ -66,7 +66,7 @@
      * @throws org.apache.sling.api.SlingServletException Wrapping a <code>ServletException</code>
      *             thrown while handling the include.
      */
-    void include(@Nonnull String path);
+    void include(@NotNull String path);
 
     /**
      * Helper method to include the result of processing the request for the
@@ -97,7 +97,7 @@
      * @see RequestDispatcherOptions#RequestDispatcherOptions(String)
      * @see #include(String, RequestDispatcherOptions)
      */
-    void include(@Nonnull String path, String requestDispatcherOptions);
+    void include(@NotNull String path, String requestDispatcherOptions);
 
     /**
      * Helper method to include the result of processing the request for the
@@ -122,7 +122,7 @@
      * @see RequestDispatcherOptions
      * @see #include(String, String)
      */
-    void include(@Nonnull String path, RequestDispatcherOptions options);
+    void include(@NotNull String path, RequestDispatcherOptions options);
 
     /**
      * Same as {@link #include(Resource,RequestDispatcherOptions)}, but using
@@ -134,7 +134,7 @@
      * @throws org.apache.sling.api.SlingServletException Wrapping a <code>ServletException</code>
      *             thrown while handling the include.
      */
-    void include(@Nonnull Resource resource);
+    void include(@NotNull Resource resource);
 
     /**
      * Helper method to include the result of processing the request for the
@@ -165,7 +165,7 @@
      * @see RequestDispatcherOptions#RequestDispatcherOptions(String)
      * @see #include(String, RequestDispatcherOptions)
      */
-    void include(@Nonnull Resource resource, String requestDispatcherOptions);
+    void include(@NotNull Resource resource, String requestDispatcherOptions);
 
     /**
      * Helper method to include the result of processing the request for the
@@ -190,7 +190,7 @@
      * @see RequestDispatcherOptions
      * @see #include(String, String)
      */
-    void include(@Nonnull Resource resource, RequestDispatcherOptions options);
+    void include(@NotNull Resource resource, RequestDispatcherOptions options);
 
     /**
      * Same as {@link #forward(String,RequestDispatcherOptions)}, but using
@@ -202,7 +202,7 @@
      * @throws org.apache.sling.api.SlingServletException Wrapping a <code>ServletException</code>
      *             thrown while handling the forward.
      */
-    void forward(@Nonnull String path);
+    void forward(@NotNull String path);
 
     /**
      * Helper method to forward the request to a Servlet or script for the given
@@ -233,7 +233,7 @@
      * @see RequestDispatcherOptions#RequestDispatcherOptions(String)
      * @see #forward(String, RequestDispatcherOptions)
      */
-    void forward(@Nonnull String path, String requestDispatcherOptions);
+    void forward(@NotNull String path, String requestDispatcherOptions);
 
     /**
      * Helper method to forward the request to a Servlet or script for the given
@@ -258,7 +258,7 @@
      * @throws IllegalStateException If the respoonse has already been committed
      * @see RequestDispatcherOptions
      */
-    void forward(@Nonnull String path, RequestDispatcherOptions options);
+    void forward(@NotNull String path, RequestDispatcherOptions options);
 
     /**
      * Same as {@link #forward(Resource,RequestDispatcherOptions)}, but using
@@ -270,7 +270,7 @@
      * @throws org.apache.sling.api.SlingServletException Wrapping a <code>ServletException</code>
      *             thrown while handling the forward.
      */
-    void forward(@Nonnull Resource resource);
+    void forward(@NotNull Resource resource);
 
     /**
      * Helper method to forward the request to a Servlet or script for the given
@@ -301,7 +301,7 @@
      * @see RequestDispatcherOptions#RequestDispatcherOptions(String)
      * @see #forward(String, RequestDispatcherOptions)
      */
-    void forward(@Nonnull Resource resource, String requestDispatcherOptions);
+    void forward(@NotNull Resource resource, String requestDispatcherOptions);
 
     /**
      * Helper method to forward the request to a Servlet or script for the given
@@ -326,7 +326,7 @@
      * @throws IllegalStateException If the respoonse has already been committed
      * @see RequestDispatcherOptions
      */
-    void forward(@Nonnull Resource resource, RequestDispatcherOptions options);
+    void forward(@NotNull Resource resource, RequestDispatcherOptions options);
 
     /**
      * Lookup a single service.
@@ -341,7 +341,7 @@
      * @param <ServiceType> The type (interface) of the service.
      * @return The service instance, or {@code null} if no services are registered which implement the specified class.
      */
-    @CheckForNull <ServiceType> ServiceType getService(@Nonnull Class<ServiceType> serviceType);
+    @Nullable <ServiceType> ServiceType getService(@NotNull Class<ServiceType> serviceType);
 
     /**
      * Lookup one or several services.
@@ -361,7 +361,7 @@
      *
      * @see <a href="https://osgi.org/javadoc/r5/core/org/osgi/framework/Filter.html">Filter class in OSGi</a>
      */
-    @CheckForNull <ServiceType> ServiceType[] getServices(@Nonnull Class<ServiceType> serviceType,
+    @Nullable <ServiceType> ServiceType[] getServices(@NotNull Class<ServiceType> serviceType,
             String filter);
 
     /**
diff --git a/src/main/java/org/apache/sling/api/scripting/SlingScriptResolver.java b/src/main/java/org/apache/sling/api/scripting/SlingScriptResolver.java
index 283b7bc..f2bef9d 100644
--- a/src/main/java/org/apache/sling/api/scripting/SlingScriptResolver.java
+++ b/src/main/java/org/apache/sling/api/scripting/SlingScriptResolver.java
@@ -16,8 +16,8 @@
  */
 package org.apache.sling.api.scripting;
 
-import javax.annotation.CheckForNull;
-import javax.annotation.Nonnull;
+import org.jetbrains.annotations.Nullable;
+import org.jetbrains.annotations.NotNull;
 
 import org.apache.sling.api.resource.ResourceResolver;
 
@@ -51,5 +51,5 @@
      *         <code>null</code> otherwise.
      * @throws org.apache.sling.api.SlingException If an error occurrs trying to resolve the name.
      */
-    @CheckForNull SlingScript findScript(@Nonnull ResourceResolver resourceResolver, @Nonnull String name);
+    @Nullable SlingScript findScript(@NotNull ResourceResolver resourceResolver, @NotNull String name);
 }
diff --git a/src/main/java/org/apache/sling/api/scripting/package-info.java b/src/main/java/org/apache/sling/api/scripting/package-info.java
index aa8704a..f8aba07 100644
--- a/src/main/java/org/apache/sling/api/scripting/package-info.java
+++ b/src/main/java/org/apache/sling/api/scripting/package-info.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-@Version("2.3.1")
+@Version("2.3.2")
 package org.apache.sling.api.scripting;
 
 import org.osgi.annotation.versioning.Version;
diff --git a/src/main/java/org/apache/sling/api/security/ResourceAccessSecurity.java b/src/main/java/org/apache/sling/api/security/ResourceAccessSecurity.java
index 0d8c313..b6f8222 100644
--- a/src/main/java/org/apache/sling/api/security/ResourceAccessSecurity.java
+++ b/src/main/java/org/apache/sling/api/security/ResourceAccessSecurity.java
@@ -18,8 +18,8 @@
  */

 package org.apache.sling.api.security;

 

-import javax.annotation.CheckForNull;

-import javax.annotation.Nonnull;

+import org.jetbrains.annotations.Nullable;

+import org.jetbrains.annotations.NotNull;

 

 import org.apache.sling.api.resource.Resource;

 import org.apache.sling.api.resource.ResourceResolver;

@@ -87,7 +87,7 @@
      * @param resource The resource to test.

      * @return null if {@link Resource} cannot be read

      */

-    @CheckForNull Resource getReadableResource(Resource resource);

+    @Nullable Resource getReadableResource(Resource resource);

 

     /**

      * Check whether a resource can be created at the path.

@@ -96,28 +96,28 @@
      * @return true if a {@link Resource} can be created at the supplied

      *  absolute path.

      */

-    boolean canCreate(@Nonnull String absPathName, @Nonnull ResourceResolver resourceResolver);

+    boolean canCreate(@NotNull String absPathName, @NotNull ResourceResolver resourceResolver);

 

     /**

      * Check whether a resource can be updated at the path.

      * @param resource The resource to test.

      * @return true if supplied {@link Resource} can be updated

      */

-    boolean canUpdate(@Nonnull Resource resource);

+    boolean canUpdate(@NotNull Resource resource);

 

     /**

      * Check whether a resource can be deleted at the path.

      * @param resource The resource to test.

      * @return true if supplied {@link Resource} can be deleted

      */

-    boolean canDelete(@Nonnull Resource resource);

+    boolean canDelete(@NotNull Resource resource);

 

     /**

      * Check whether a resource can be executed at the path.

      * @param resource The resource to test.

      * @return true if supplied {@link Resource} can be executed as a script

      */

-    boolean canExecute(@Nonnull Resource resource);

+    boolean canExecute(@NotNull Resource resource);

 

     /**

      * Check whether a value can be read

@@ -125,7 +125,7 @@
      * @param valueName The name of the value

      * @return true if the "valueName" value of supplied {@link Resource} can be read

      */

-    boolean canReadValue(@Nonnull Resource resource, @Nonnull String valueName);

+    boolean canReadValue(@NotNull Resource resource, @NotNull String valueName);

 

     /**

      * Check whether a value can be set

@@ -133,7 +133,7 @@
      * @param valueName The name of the value

      * @return true if the "valueName" value of supplied {@link Resource} can be set

      */

-    boolean canSetValue(@Nonnull Resource resource, @Nonnull String valueName);

+    boolean canSetValue(@NotNull Resource resource, @NotNull String valueName);

 

     /**

      * Check whether a value can be deleted

@@ -141,7 +141,7 @@
      * @param valueName The name of the value

      * @return true if the "valueName" value of supplied {@link Resource} can be deleted

      */

-    boolean canDeleteValue(@Nonnull Resource resource, @Nonnull String valueName);

+    boolean canDeleteValue(@NotNull Resource resource, @NotNull String valueName);

 

     /**

      * Optionally transform a query based on the current

@@ -158,7 +158,7 @@
      * @return the transformed query

      * @throws AccessSecurityException If access is denied

      */

-    @Nonnull String transformQuery(@Nonnull String query, @Nonnull String language, @Nonnull ResourceResolver resourceResolver)

+    @NotNull String transformQuery(@NotNull String query, @NotNull String language, @NotNull ResourceResolver resourceResolver)

     throws AccessSecurityException;

 

 }
\ No newline at end of file
diff --git a/src/main/java/org/apache/sling/api/security/package-info.java b/src/main/java/org/apache/sling/api/security/package-info.java
index 8b9ddeb..c9ada14 100644
--- a/src/main/java/org/apache/sling/api/security/package-info.java
+++ b/src/main/java/org/apache/sling/api/security/package-info.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-@Version("1.0.2")
+@Version("1.0.3")
 package org.apache.sling.api.security;
 
 import org.osgi.annotation.versioning.Version;
diff --git a/src/main/java/org/apache/sling/api/servlets/OptingServlet.java b/src/main/java/org/apache/sling/api/servlets/OptingServlet.java
index 9873eab..4a56d94 100644
--- a/src/main/java/org/apache/sling/api/servlets/OptingServlet.java
+++ b/src/main/java/org/apache/sling/api/servlets/OptingServlet.java
@@ -18,7 +18,7 @@
  */
 package org.apache.sling.api.servlets;
 
-import javax.annotation.Nonnull;
+import org.jetbrains.annotations.NotNull;
 import javax.servlet.Servlet;
 
 import org.apache.sling.api.SlingHttpServletRequest;
@@ -49,6 +49,6 @@
      * @return <code>true</code> if this servlet will handle the request,
      *         <code>false</code> otherwise
      */
-    boolean accepts(@Nonnull SlingHttpServletRequest request);
+    boolean accepts(@NotNull SlingHttpServletRequest request);
 
 }
diff --git a/src/main/java/org/apache/sling/api/servlets/ServletResolver.java b/src/main/java/org/apache/sling/api/servlets/ServletResolver.java
index 6fcf40d..8cb8ae9 100644
--- a/src/main/java/org/apache/sling/api/servlets/ServletResolver.java
+++ b/src/main/java/org/apache/sling/api/servlets/ServletResolver.java
@@ -18,8 +18,8 @@
  */
 package org.apache.sling.api.servlets;
 
-import javax.annotation.CheckForNull;
-import javax.annotation.Nonnull;
+import org.jetbrains.annotations.Nullable;
+import org.jetbrains.annotations.NotNull;
 import javax.servlet.Servlet;
 
 import org.apache.sling.api.SlingHttpServletRequest;
@@ -63,7 +63,7 @@
      *             request.
      * @throws NullPointerException If {@code request} is null.
      */
-    @CheckForNull Servlet resolveServlet(@Nonnull SlingHttpServletRequest request);
+    @Nullable Servlet resolveServlet(@NotNull SlingHttpServletRequest request);
 
     /**
      * Resolves a <code>javax.servlet.Servlet</code> whose
@@ -93,7 +93,7 @@
      * @throws IllegalArgumentException If {@code resource} is null.
      * @since 2.1 (Sling API Bundle 2.1.0)
      */
-    @CheckForNull Servlet resolveServlet(@Nonnull Resource resource, @Nonnull String scriptName);
+    @Nullable Servlet resolveServlet(@NotNull Resource resource, @NotNull String scriptName);
 
     /**
      * Resolves a <code>javax.servlet.Servlet</code> whose
@@ -120,6 +120,6 @@
      * @throws IllegalArgumentException If {@code resolver} is null.
      * @since 2.1 (Sling API Bundle 2.1.0)
      */
-    @CheckForNull Servlet resolveServlet(@Nonnull ResourceResolver resolver, @Nonnull String scriptName);
+    @Nullable Servlet resolveServlet(@NotNull ResourceResolver resolver, @NotNull String scriptName);
 
 }
diff --git a/src/main/java/org/apache/sling/api/servlets/SlingAllMethodsServlet.java b/src/main/java/org/apache/sling/api/servlets/SlingAllMethodsServlet.java
index 4666bb9..7666fe9 100644
--- a/src/main/java/org/apache/sling/api/servlets/SlingAllMethodsServlet.java
+++ b/src/main/java/org/apache/sling/api/servlets/SlingAllMethodsServlet.java
@@ -20,7 +20,7 @@
 import java.lang.reflect.Method;
 import java.util.Map;
 
-import javax.annotation.Nonnull;
+import org.jetbrains.annotations.NotNull;
 import javax.servlet.ServletException;
 
 import org.apache.sling.api.SlingHttpServletRequest;
@@ -60,8 +60,8 @@
      * @throws IOException If the error status cannot be reported back to the
      *             client.
      */
-    protected void doPost(@Nonnull SlingHttpServletRequest request,
-            @Nonnull SlingHttpServletResponse response) throws ServletException,
+    protected void doPost(@NotNull SlingHttpServletRequest request,
+            @NotNull SlingHttpServletResponse response) throws ServletException,
             IOException {
         handleMethodNotImplemented(request, response);
     }
@@ -83,8 +83,8 @@
      * @throws IOException If the error status cannot be reported back to the
      *             client.
      */
-    protected void doPut(@Nonnull SlingHttpServletRequest request,
-            @Nonnull SlingHttpServletResponse response) throws ServletException,
+    protected void doPut(@NotNull SlingHttpServletRequest request,
+            @NotNull SlingHttpServletResponse response) throws ServletException,
             IOException {
         handleMethodNotImplemented(request, response);
     }
@@ -106,8 +106,8 @@
      * @throws IOException If the error status cannot be reported back to the
      *             client.
      */
-    protected void doDelete(@Nonnull SlingHttpServletRequest request,
-            @Nonnull SlingHttpServletResponse response) throws ServletException,
+    protected void doDelete(@NotNull SlingHttpServletRequest request,
+            @NotNull SlingHttpServletResponse response) throws ServletException,
             IOException {
         handleMethodNotImplemented(request, response);
     }
@@ -129,8 +129,8 @@
      * @throws ServletException Forwarded from any of the dispatched methods
      * @throws IOException Forwarded from any of the dispatched methods
      */
-    protected boolean mayService(@Nonnull SlingHttpServletRequest request,
-            @Nonnull SlingHttpServletResponse response) throws ServletException,
+    protected boolean mayService(@NotNull SlingHttpServletRequest request,
+            @NotNull SlingHttpServletResponse response) throws ServletException,
             IOException {
 
         // assume the method is known for now
@@ -173,8 +173,8 @@
      * @return A <code>StringBuffer</code> containing the list of HTTP methods
      *         supported.
      */
-    protected @Nonnull StringBuffer getAllowedRequestMethods(
-            @Nonnull Map<String, Method> declaredMethods) {
+    protected @NotNull StringBuffer getAllowedRequestMethods(
+            @NotNull Map<String, Method> declaredMethods) {
         StringBuffer allowBuf = super.getAllowedRequestMethods(declaredMethods);
 
         // add more method names depending on the methods found
diff --git a/src/main/java/org/apache/sling/api/servlets/SlingSafeMethodsServlet.java b/src/main/java/org/apache/sling/api/servlets/SlingSafeMethodsServlet.java
index 84d785b..1d25ce9 100644
--- a/src/main/java/org/apache/sling/api/servlets/SlingSafeMethodsServlet.java
+++ b/src/main/java/org/apache/sling/api/servlets/SlingSafeMethodsServlet.java
@@ -26,7 +26,7 @@
 import java.util.HashMap;
 import java.util.Map;
 
-import javax.annotation.Nonnull;
+import org.jetbrains.annotations.NotNull;
 import javax.servlet.GenericServlet;
 import javax.servlet.ServletException;
 import javax.servlet.ServletOutputStream;
@@ -91,8 +91,8 @@
      *             {@link #doGet(SlingHttpServletRequest, SlingHttpServletResponse)}
      *             method called by this implementation.
      */
-    protected void doHead(@Nonnull SlingHttpServletRequest request,
-            @Nonnull SlingHttpServletResponse response) throws ServletException,
+    protected void doHead(@NotNull SlingHttpServletRequest request,
+            @NotNull SlingHttpServletResponse response) throws ServletException,
             IOException {
 
         // the null-output wrapper
@@ -122,8 +122,8 @@
      * @throws IOException If the error status cannot be reported back to the
      *             client.
      */
-    protected void doGet(@Nonnull SlingHttpServletRequest request,
-            @Nonnull SlingHttpServletResponse response) throws ServletException,
+    protected void doGet(@NotNull SlingHttpServletRequest request,
+            @NotNull SlingHttpServletResponse response) throws ServletException,
             IOException {
         handleMethodNotImplemented(request, response);
     }
@@ -146,8 +146,8 @@
      * @throws ServletException Not thrown by this implementation.
      * @throws IOException Not thrown by this implementation.
      */
-    protected void doOptions(@Nonnull SlingHttpServletRequest request,
-            @Nonnull SlingHttpServletResponse response) throws ServletException,
+    protected void doOptions(@NotNull SlingHttpServletRequest request,
+            @NotNull SlingHttpServletResponse response) throws ServletException,
             IOException {
         Map<String, Method> methods = getAllDeclaredMethods(getClass());
         StringBuffer allowBuf = getAllowedRequestMethods(methods);
@@ -168,8 +168,8 @@
      * @throws IOException May be thrown if there is an problem sending back the
      *             request headers in the response stream.
      */
-    protected void doTrace(@Nonnull SlingHttpServletRequest request,
-            @Nonnull SlingHttpServletResponse response) throws ServletException,
+    protected void doTrace(@NotNull SlingHttpServletRequest request,
+            @NotNull SlingHttpServletResponse response) throws ServletException,
             IOException {
 
         String CRLF = "\r\n";
@@ -224,8 +224,8 @@
      * @throws IOException If the error status cannot be reported back to the
      *             client.
      */
-    protected void doGeneric(@Nonnull SlingHttpServletRequest request,
-            @Nonnull SlingHttpServletResponse response) throws ServletException,
+    protected void doGeneric(@NotNull SlingHttpServletRequest request,
+            @NotNull SlingHttpServletResponse response) throws ServletException,
             IOException {
         handleMethodNotImplemented(request, response);
     }
@@ -252,8 +252,8 @@
      * @throws ServletException Forwarded from any of the dispatched methods
      * @throws IOException Forwarded from any of the dispatched methods
      */
-    protected boolean mayService(@Nonnull SlingHttpServletRequest request,
-            @Nonnull SlingHttpServletResponse response) throws ServletException,
+    protected boolean mayService(@NotNull SlingHttpServletRequest request,
+            @NotNull SlingHttpServletResponse response) throws ServletException,
             IOException {
 
         // assume the method is known for now
@@ -288,8 +288,8 @@
      * @param response The HTTP response to which the error status is sent.
      * @throws IOException Thrown if the status cannot be sent to the client.
      */
-    protected void handleMethodNotImplemented(@Nonnull SlingHttpServletRequest request,
-            @Nonnull SlingHttpServletResponse response) throws IOException {
+    protected void handleMethodNotImplemented(@NotNull SlingHttpServletRequest request,
+            @NotNull SlingHttpServletResponse response) throws IOException {
         String protocol = request.getProtocol();
         String msg = "Method " + request.getMethod() + " not supported";
 
@@ -334,8 +334,8 @@
      *             {@link #doGeneric(SlingHttpServletRequest, SlingHttpServletResponse)}
      *             methods.
      */
-    protected void service(@Nonnull SlingHttpServletRequest request,
-            @Nonnull SlingHttpServletResponse response) throws ServletException,
+    protected void service(@NotNull SlingHttpServletRequest request,
+            @NotNull SlingHttpServletResponse response) throws ServletException,
             IOException {
 
         // first try to handle the request by the known methods
@@ -365,7 +365,7 @@
      *             called.
      */
     @Override
-    public void service(@Nonnull ServletRequest req, @Nonnull ServletResponse res)
+    public void service(@NotNull ServletRequest req, @NotNull ServletResponse res)
             throws ServletException, IOException {
 
         if ((req instanceof SlingHttpServletRequest)
@@ -386,7 +386,7 @@
      * class may overwrite to return more specific information.
      */
     @Override
-    public @Nonnull String getServletInfo() {
+    public @NotNull String getServletInfo() {
         return getClass().getSimpleName();
     }
 
diff --git a/src/main/java/org/apache/sling/api/servlets/package-info.java b/src/main/java/org/apache/sling/api/servlets/package-info.java
index a864c85..b018388 100644
--- a/src/main/java/org/apache/sling/api/servlets/package-info.java
+++ b/src/main/java/org/apache/sling/api/servlets/package-info.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-@Version("2.2.0")
+@Version("2.2.1")
 package org.apache.sling.api.servlets;
 
 import org.osgi.annotation.versioning.Version;
diff --git a/src/main/java/org/apache/sling/api/wrappers/ResourceResolverWrapper.java b/src/main/java/org/apache/sling/api/wrappers/ResourceResolverWrapper.java
index b9d442e..67c2fbf 100644
--- a/src/main/java/org/apache/sling/api/wrappers/ResourceResolverWrapper.java
+++ b/src/main/java/org/apache/sling/api/wrappers/ResourceResolverWrapper.java
@@ -18,7 +18,7 @@
 
 import java.util.Iterator;
 import java.util.Map;
-import javax.annotation.Nonnull;
+import org.jetbrains.annotations.NotNull;
 import javax.servlet.http.HttpServletRequest;
 
 import org.apache.sling.api.resource.LoginException;
@@ -60,9 +60,9 @@
      *                the path before resolving it.
      * @return a wrapped resource obtained through the wrapped resource resolver
      */
-    @Nonnull
+    @NotNull
     @Override
-    public Resource resolve(@Nonnull HttpServletRequest request, @Nonnull String absPath) {
+    public Resource resolve(@NotNull HttpServletRequest request, @NotNull String absPath) {
         return ResourceResolverResourceWrapper.wrap(this, wrapped.resolve(request, absPath));
     }
 
@@ -76,9 +76,9 @@
      *                the path before resolving it.
      * @return a wrapped resource obtained through the wrapped resource resolver
      */
-    @Nonnull
+    @NotNull
     @Override
-    public Resource resolve(@Nonnull String absPath) {
+    public Resource resolve(@NotNull String absPath) {
         return ResourceResolverResourceWrapper.wrap(this, wrapped.resolve(absPath));
     }
 
@@ -90,20 +90,20 @@
      * @return a wrapped resource obtained through the wrapped resource resolver
      */
     @SuppressWarnings("deprecation")
-    @Nonnull
+    @NotNull
     @Override
-    public Resource resolve(@Nonnull HttpServletRequest request) {
+    public Resource resolve(@NotNull HttpServletRequest request) {
         return ResourceResolverResourceWrapper.wrap(this, wrapped.resolve(request));
     }
 
-    @Nonnull
+    @NotNull
     @Override
-    public String map(@Nonnull String resourcePath) {
+    public String map(@NotNull String resourcePath) {
         return wrapped.map(resourcePath);
     }
 
     @Override
-    public String map(@Nonnull HttpServletRequest request, @Nonnull String resourcePath) {
+    public String map(@NotNull HttpServletRequest request, @NotNull String resourcePath) {
         return wrapped.map(request, resourcePath);
     }
 
@@ -120,7 +120,7 @@
      * @return a wrapped resource obtained through the wrapped resource resolver
      */
     @Override
-    public Resource getResource(@Nonnull String path) {
+    public Resource getResource(@NotNull String path) {
         return ResourceResolverResourceWrapper.wrap(this, wrapped.getResource(path));
     }
 
@@ -140,11 +140,11 @@
      * @return a wrapped resource obtained through the wrapped resource resolver
      */
     @Override
-    public Resource getResource(Resource base, @Nonnull String path) {
+    public Resource getResource(Resource base, @NotNull String path) {
         return ResourceResolverResourceWrapper.wrap(this, wrapped.getResource(base, path));
     }
 
-    @Nonnull
+    @NotNull
     @Override
     public String[] getSearchPath() {
         return wrapped.getSearchPath();
@@ -156,9 +156,9 @@
      * @param parent The {@link Resource Resource} whose children are requested.
      * @return a wrapped iterator obtained through the wrapped resource resolver
      */
-    @Nonnull
+    @NotNull
     @Override
-    public Iterator<Resource> listChildren(@Nonnull Resource parent) {
+    public Iterator<Resource> listChildren(@NotNull Resource parent) {
         return new ResourceIteratorWrapper(this, wrapped.listChildren(parent));
     }
 
@@ -169,7 +169,7 @@
      * @return a wrapped resource obtained through the wrapped resource resolver
      */
     @Override
-    public Resource getParent(@Nonnull Resource child) {
+    public Resource getParent(@NotNull Resource child) {
         return ResourceResolverResourceWrapper.wrap(this, wrapped.getParent(child));
     }
 
@@ -179,9 +179,9 @@
      * @param parent The {@link Resource Resource} whose children are requested.
      * @return a wrapped iterable obtained through the wrapped resource resolver
      */
-    @Nonnull
+    @NotNull
     @Override
-    public Iterable<Resource> getChildren(@Nonnull final Resource parent) {
+    public Iterable<Resource> getChildren(@NotNull final Resource parent) {
         final ResourceResolverWrapper resourceResolverWrapper = this;
         return new Iterable<Resource>() {
             @Override
@@ -201,20 +201,20 @@
      *                 is specified, "xpath" is used.
      * @return a wrapped iterator obtained through the wrapped resource resolver
      */
-    @Nonnull
+    @NotNull
     @Override
-    public Iterator<Resource> findResources(@Nonnull String query, String language) {
+    public Iterator<Resource> findResources(@NotNull String query, String language) {
         return new ResourceIteratorWrapper(this, wrapped.findResources(query, language));
     }
 
-    @Nonnull
+    @NotNull
     @Override
-    public Iterator<Map<String, Object>> queryResources(@Nonnull String query, String language) {
+    public Iterator<Map<String, Object>> queryResources(@NotNull String query, String language) {
         return wrapped.queryResources(query, language);
     }
 
     @Override
-    public boolean hasChildren(@Nonnull Resource resource) {
+    public boolean hasChildren(@NotNull Resource resource) {
         return wrapped.hasChildren(resource);
     }
 
@@ -228,7 +228,7 @@
      *                           instance.
      * @return a wrapped resource resolver
      */
-    @Nonnull
+    @NotNull
     @Override
     public ResourceResolver clone(Map<String, Object> authenticationInfo) throws LoginException {
         ResourceResolver toWrap = wrapped.clone(authenticationInfo);
@@ -250,19 +250,19 @@
         return wrapped.getUserID();
     }
 
-    @Nonnull
+    @NotNull
     @Override
     public Iterator<String> getAttributeNames() {
         return wrapped.getAttributeNames();
     }
 
     @Override
-    public Object getAttribute(@Nonnull String name) {
+    public Object getAttribute(@NotNull String name) {
         return wrapped.getAttribute(name);
     }
 
     @Override
-    public void delete(@Nonnull Resource resource) throws PersistenceException {
+    public void delete(@NotNull Resource resource) throws PersistenceException {
         wrapped.delete(resource);
     }
 
@@ -274,9 +274,9 @@
      * @param properties Optional properties for the resource
      * @return a wrapped resource obtained through the wrapped resource resolver
      */
-    @Nonnull
+    @NotNull
     @Override
-    public Resource create(@Nonnull Resource parent, @Nonnull String name, Map<String, Object> properties) throws PersistenceException {
+    public Resource create(@NotNull Resource parent, @NotNull String name, Map<String, Object> properties) throws PersistenceException {
         return ResourceResolverResourceWrapper.wrap(this, wrapped.create(parent, name, properties));
     }
 
@@ -342,7 +342,7 @@
     }
 
     @Override
-    public <AdapterType> AdapterType adaptTo(@Nonnull Class<AdapterType> type) {
+    public <AdapterType> AdapterType adaptTo(@NotNull Class<AdapterType> type) {
         return wrapped.adaptTo(type);
     }
 
diff --git a/src/main/java/org/apache/sling/api/wrappers/package-info.java b/src/main/java/org/apache/sling/api/wrappers/package-info.java
index e527a18..b9ce055 100644
--- a/src/main/java/org/apache/sling/api/wrappers/package-info.java
+++ b/src/main/java/org/apache/sling/api/wrappers/package-info.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-@Version("2.6.1")
+@Version("2.6.2")
 package org.apache.sling.api.wrappers;
 
 import org.osgi.annotation.versioning.Version;
diff --git a/src/main/java/org/apache/sling/spi/resource/provider/ObservationReporter.java b/src/main/java/org/apache/sling/spi/resource/provider/ObservationReporter.java
index 2fc2f32..6a05f7f 100644
--- a/src/main/java/org/apache/sling/spi/resource/provider/ObservationReporter.java
+++ b/src/main/java/org/apache/sling/spi/resource/provider/ObservationReporter.java
@@ -20,7 +20,7 @@
 
 import java.util.List;
 
-import javax.annotation.Nonnull;
+import org.jetbrains.annotations.NotNull;
 
 import org.apache.sling.api.resource.observation.ResourceChange;
 import org.osgi.annotation.versioning.ProviderType;
@@ -40,7 +40,7 @@
      * reporter is bound to.
      * @return A list of observer configurations, the list might be empty.
      */
-    @Nonnull List<ObserverConfiguration> getObserverConfigurations();
+    @NotNull List<ObserverConfiguration> getObserverConfigurations();
 
     /**
      * A resource provider can inform about a list of changes.
@@ -60,7 +60,7 @@
      * @param changes The list of changes.
      * @param distribute Whether the changes should be distributed to other instances.
      */
-    void reportChanges(@Nonnull Iterable<ResourceChange> changes, boolean distribute);
+    void reportChanges(@NotNull Iterable<ResourceChange> changes, boolean distribute);
 
     /**
      * A resource provider can inform about a list of changes.
@@ -81,7 +81,7 @@
      * @param distribute Whether the changes should be distributed to other instances.
      * @since 1.1.0 (Sling API Bundle 2.15.0)
      */
-    void reportChanges(@Nonnull ObserverConfiguration config,
-            @Nonnull Iterable<ResourceChange> changes,
+    void reportChanges(@NotNull ObserverConfiguration config,
+            @NotNull Iterable<ResourceChange> changes,
             boolean distribute);
 }
diff --git a/src/main/java/org/apache/sling/spi/resource/provider/ObserverConfiguration.java b/src/main/java/org/apache/sling/spi/resource/provider/ObserverConfiguration.java
index 326e570..0c3f00e 100644
--- a/src/main/java/org/apache/sling/spi/resource/provider/ObserverConfiguration.java
+++ b/src/main/java/org/apache/sling/spi/resource/provider/ObserverConfiguration.java
@@ -20,7 +20,7 @@
 
 import java.util.Set;
 
-import javax.annotation.Nonnull;
+import org.jetbrains.annotations.NotNull;
 
 import org.apache.sling.api.resource.observation.ResourceChange;
 import org.apache.sling.api.resource.path.PathSet;
@@ -55,20 +55,20 @@
      * The set of paths this listener is interested in. Each entry is absolute.
      * @return Non empty set of paths
      */
-    @Nonnull PathSet getPaths();
+    @NotNull PathSet getPaths();
 
     /**
      * The set of excluded paths.
      * All the paths are sub paths from one entry of {@link #getPaths()}
      * @return A set of excluded paths, might be empty.
      */
-    @Nonnull PathSet getExcludedPaths();
+    @NotNull PathSet getExcludedPaths();
 
     /**
      * The set of types listeners are interested in.
      * @return Non empty set of types
      */
-    @Nonnull Set<ResourceChange.ChangeType> getChangeTypes();
+    @NotNull Set<ResourceChange.ChangeType> getChangeTypes();
 
     /**
      * Set containing the set of property names which
@@ -77,7 +77,7 @@
      * underlying might ignore this.
      * @return Set containing the set of property names or {@code null}
      */
-    @Nonnull Set<String> getPropertyNamesHint();
+    @NotNull Set<String> getPropertyNamesHint();
 
     /**
      * Checks whether a path matches one of the paths of this configuration
diff --git a/src/main/java/org/apache/sling/spi/resource/provider/ProviderContext.java b/src/main/java/org/apache/sling/spi/resource/provider/ProviderContext.java
index 64025c6..d5abb0d 100644
--- a/src/main/java/org/apache/sling/spi/resource/provider/ProviderContext.java
+++ b/src/main/java/org/apache/sling/spi/resource/provider/ProviderContext.java
@@ -18,7 +18,7 @@
  */
 package org.apache.sling.spi.resource.provider;
 
-import javax.annotation.Nonnull;
+import org.jetbrains.annotations.NotNull;
 
 import org.apache.sling.api.resource.path.PathSet;
 import org.osgi.annotation.versioning.ProviderType;
@@ -47,7 +47,7 @@
      *
      * @return The observation reporter.
      */
-    @Nonnull ObservationReporter getObservationReporter();
+    @NotNull ObservationReporter getObservationReporter();
 
     /**
      * Set of paths which are "hidden" by other resource providers.
diff --git a/src/main/java/org/apache/sling/spi/resource/provider/QueryLanguageProvider.java b/src/main/java/org/apache/sling/spi/resource/provider/QueryLanguageProvider.java
index b733cec..7ba48fb 100644
--- a/src/main/java/org/apache/sling/spi/resource/provider/QueryLanguageProvider.java
+++ b/src/main/java/org/apache/sling/spi/resource/provider/QueryLanguageProvider.java
@@ -20,7 +20,7 @@
 
 import java.util.Iterator;
 
-import javax.annotation.Nonnull;
+import org.jetbrains.annotations.NotNull;
 
 import org.apache.sling.api.resource.Resource;
 import org.apache.sling.api.resource.ValueMap;
@@ -43,7 +43,7 @@
      * @param ctx The resolve context
      * @return The array of supported languages
      */
-    String[] getSupportedLanguages(@Nonnull ResolveContext<T> ctx);
+    String[] getSupportedLanguages(@NotNull ResolveContext<T> ctx);
 
     /**
      * Searches for resources using the given query formulated in the given
@@ -70,7 +70,7 @@
      * @throws IllegalStateException if this resource provider has already been
      *             closed.
      */
-    Iterator<Resource> findResources(@Nonnull ResolveContext<T> ctx, String query, String language);
+    Iterator<Resource> findResources(@NotNull ResolveContext<T> ctx, String query, String language);
 
     /**
      * Queries the storage using the given query formulated in the given
@@ -100,5 +100,5 @@
      * @throws IllegalStateException if this resource provider has already been
      *             closed.
      */
-    Iterator<ValueMap> queryResources(@Nonnull ResolveContext<T> ctx, String query, String language);
+    Iterator<ValueMap> queryResources(@NotNull ResolveContext<T> ctx, String query, String language);
 }
diff --git a/src/main/java/org/apache/sling/spi/resource/provider/ResolveContext.java b/src/main/java/org/apache/sling/spi/resource/provider/ResolveContext.java
index 62a4086..6837600 100644
--- a/src/main/java/org/apache/sling/spi/resource/provider/ResolveContext.java
+++ b/src/main/java/org/apache/sling/spi/resource/provider/ResolveContext.java
@@ -18,8 +18,8 @@
  */
 package org.apache.sling.spi.resource.provider;
 
-import javax.annotation.CheckForNull;
-import javax.annotation.Nonnull;
+import org.jetbrains.annotations.Nullable;
+import org.jetbrains.annotations.NotNull;
 
 import org.apache.sling.api.resource.ResourceResolver;
 import org.osgi.annotation.versioning.ProviderType;
@@ -40,20 +40,20 @@
      * Get the current resource resolver.
      * @return The resource resolver.
      */
-    @Nonnull ResourceResolver getResourceResolver();
+    @NotNull ResourceResolver getResourceResolver();
 
     /**
      * This is the object returned by {@link ResourceProvider#authenticate(Map)}
      * @return The data object or {@code null}
      */
-    @CheckForNull T getProviderState();
+    @Nullable T getProviderState();
 
     /**
      * Return a resolve context for the parent resource provider.
      * @return A resolve context or {@code null} if there is no parent.
      * @see #getParentResourceProvider()
      */
-    @CheckForNull ResolveContext<?> getParentResolveContext();
+    @Nullable ResolveContext<?> getParentResolveContext();
 
     /**
      * Return the parent resource provider.
@@ -62,5 +62,5 @@
      * instance.
      * @return The parent provider or {@code null} if there is no parent.
      */
-    @CheckForNull ResourceProvider<?> getParentResourceProvider();
+    @Nullable ResourceProvider<?> getParentResourceProvider();
 }
diff --git a/src/main/java/org/apache/sling/spi/resource/provider/ResourceContext.java b/src/main/java/org/apache/sling/spi/resource/provider/ResourceContext.java
index fe56011..15c925f 100644
--- a/src/main/java/org/apache/sling/spi/resource/provider/ResourceContext.java
+++ b/src/main/java/org/apache/sling/spi/resource/provider/ResourceContext.java
@@ -20,7 +20,7 @@
 
 import java.util.Map;
 
-import javax.annotation.CheckForNull;
+import org.jetbrains.annotations.Nullable;
 
 import org.osgi.annotation.versioning.ProviderType;
 
@@ -38,7 +38,7 @@
      * map could contain the path parameters of the url.
      * @return A non empty map with parameters or {@code null}.
      */
-    @CheckForNull Map<String, String> getResolveParameters();
+    @Nullable Map<String, String> getResolveParameters();
 
     /**
      * "Empty" instance, not providing any additional information.
diff --git a/src/main/java/org/apache/sling/spi/resource/provider/ResourceProvider.java b/src/main/java/org/apache/sling/spi/resource/provider/ResourceProvider.java
index 2171519..0ced2e6 100644
--- a/src/main/java/org/apache/sling/spi/resource/provider/ResourceProvider.java
+++ b/src/main/java/org/apache/sling/spi/resource/provider/ResourceProvider.java
@@ -22,8 +22,8 @@
 import java.util.Iterator;
 import java.util.Map;
 
-import javax.annotation.CheckForNull;
-import javax.annotation.Nonnull;
+import org.jetbrains.annotations.Nullable;
+import org.jetbrains.annotations.NotNull;
 
 import org.apache.sling.api.resource.LoginException;
 import org.apache.sling.api.resource.PersistenceException;
@@ -237,7 +237,7 @@
      * it is used in the resource tree.
      * @param ctx The context for this provider.
      */
-    public void start(@Nonnull ProviderContext ctx) {
+    public void start(@NotNull ProviderContext ctx) {
         this.ctx = ctx;
     }
 
@@ -268,7 +268,7 @@
      * @return The provider context or {@code null} if the provider is currently
      *         not used in the resource tree.
      */
-    protected @CheckForNull ProviderContext getProviderContext() {
+    protected @Nullable ProviderContext getProviderContext() {
         return this.ctx;
     }
 
@@ -321,7 +321,7 @@
      *      href="http://sling.apache.org/documentation/the-sling-engine/service-authentication.html">Service
      *      Authentication</a>
      */
-    public @CheckForNull T authenticate(final @Nonnull Map<String, Object> authenticationInfo)
+    public @Nullable T authenticate(final @NotNull Map<String, Object> authenticationInfo)
     throws LoginException {
         return null;
     }
@@ -332,7 +332,7 @@
      *
      * @param state The provider state returned by {@link #authenticate(Map)}.
      */
-    public void logout(final @CheckForNull T state) {
+    public void logout(final @Nullable T state) {
         // do nothing
     }
 
@@ -346,7 +346,7 @@
      *
      * @param ctx The {@link ResolveContext}.
      */
-    public void refresh(final @Nonnull ResolveContext<T> ctx) {
+    public void refresh(final @NotNull ResolveContext<T> ctx) {
         // nothing to do here
     }
 
@@ -365,7 +365,7 @@
      *         yet and is still active.. Once the resource provider has been closed
      *         or is not active anymore, this method returns {@code false}.
      */
-    public boolean isLive(final @Nonnull ResolveContext<T> ctx) {
+    public boolean isLive(final @NotNull ResolveContext<T> ctx) {
         return true;
     }
 
@@ -386,7 +386,7 @@
      * @throws org.apache.sling.api.SlingException
      *             may be thrown in case of any problem creating the {@code Resource} instance.
      */
-    public @CheckForNull Resource getParent(final @Nonnull ResolveContext<T> ctx, final @Nonnull Resource child) {
+    public @Nullable Resource getParent(final @NotNull ResolveContext<T> ctx, final @NotNull Resource child) {
         final String parentPath = ResourceUtil.getParent(child.getPath());
         if (parentPath == null) {
             return null;
@@ -414,10 +414,10 @@
      * @throws org.apache.sling.api.SlingException
      *             may be thrown in case of any problem creating the {@code Resource} instance.
      */
-    public abstract @CheckForNull Resource getResource(@Nonnull final ResolveContext<T> ctx,
-            @Nonnull final String path,
-            @Nonnull final ResourceContext resourceContext,
-            @CheckForNull final Resource parent);
+    public abstract @Nullable Resource getResource(@NotNull final ResolveContext<T> ctx,
+            @NotNull final String path,
+            @NotNull final ResourceContext resourceContext,
+            @Nullable final Resource parent);
 
     /**
      * Returns an {@code Iterator} of {@link Resource} objects loaded from
@@ -449,7 +449,7 @@
      * @throws org.apache.sling.api.SlingException
      *             If any error occurs acquiring the child resource iterator.
      */
-    public abstract @CheckForNull Iterator<Resource> listChildren(final @Nonnull ResolveContext<T> ctx, final @Nonnull Resource parent);
+    public abstract @Nullable Iterator<Resource> listChildren(final @NotNull ResolveContext<T> ctx, final @NotNull Resource parent);
 
     /**
      * Returns a collection of attribute names whose value can be retrieved
@@ -463,7 +463,7 @@
      * @throws IllegalStateException if this resource provider has already been
      *                               closed.
      */
-    public @CheckForNull Collection<String> getAttributeNames(final @Nonnull ResolveContext<T> ctx) {
+    public @Nullable Collection<String> getAttributeNames(final @NotNull ResolveContext<T> ctx) {
         return null;
     }
 
@@ -482,7 +482,7 @@
      * @throws IllegalStateException
      *             if this resource provider has already been closed.
      */
-    public @CheckForNull Object getAttribute(final @Nonnull ResolveContext<T> ctx, final @Nonnull String name) {
+    public @Nullable Object getAttribute(final @NotNull ResolveContext<T> ctx, final @NotNull String name) {
         return null;
     }
 
@@ -504,7 +504,7 @@
      *
      * @throws PersistenceException If anything fails
      */
-    public @Nonnull Resource create(final @Nonnull ResolveContext<T> ctx, final String path, final Map<String, Object> properties)
+    public @NotNull Resource create(final @NotNull ResolveContext<T> ctx, final String path, final Map<String, Object> properties)
     throws PersistenceException {
         throw new PersistenceException("create is not supported.");
     }
@@ -522,7 +522,7 @@
      *
      * @throws PersistenceException If anything fails
      */
-    public void delete(final @Nonnull ResolveContext<T> ctx, final @Nonnull Resource resource)
+    public void delete(final @NotNull ResolveContext<T> ctx, final @NotNull Resource resource)
     throws PersistenceException {
         throw new PersistenceException("delete is not supported.");
     }
@@ -535,7 +535,7 @@
      *
      * @param ctx The {@link ResolveContext}.
      */
-    public void revert(final @Nonnull ResolveContext<T> ctx) {
+    public void revert(final @NotNull ResolveContext<T> ctx) {
         // nothing to do here
     }
 
@@ -548,7 +548,7 @@
      * @param ctx The {@link ResolveContext}.
      * @throws PersistenceException If anything fails
      */
-    public void commit(final @Nonnull ResolveContext<T> ctx)
+    public void commit(final @NotNull ResolveContext<T> ctx)
     throws PersistenceException {
         // nothing to do here
     }
@@ -562,7 +562,7 @@
      * @param ctx The {@link ResolveContext}.
      * @return {@code true} if there are pending changes.
      */
-    public boolean hasChanges(final @Nonnull ResolveContext<T> ctx) {
+    public boolean hasChanges(final @NotNull ResolveContext<T> ctx) {
         return false;
     }
 
@@ -576,7 +576,7 @@
      *
      * @return A query language provider if this resource provider supports this type of querying.
      */
-    public @CheckForNull QueryLanguageProvider<T> getQueryLanguageProvider() {
+    public @Nullable QueryLanguageProvider<T> getQueryLanguageProvider() {
         return null;
     }
 
@@ -600,8 +600,8 @@
      * @return The adapter target or {@code null} if the provider cannot
      *         be adapt to the requested type.
      */
-    public @CheckForNull <AdapterType> AdapterType adaptTo(final  @Nonnull ResolveContext<T> ctx,
-            final @Nonnull Class<AdapterType> type) {
+    public @Nullable <AdapterType> AdapterType adaptTo(final  @NotNull ResolveContext<T> ctx,
+            final @NotNull Class<AdapterType> type) {
         return null;
     }
 
@@ -627,9 +627,9 @@
      * @throws PersistenceException If an error occurs.
      * @return {@code true} if the provider can perform the copy
      */
-    public boolean copy(final  @Nonnull ResolveContext<T> ctx,
-              final @Nonnull String srcAbsPath,
-              final @Nonnull String destAbsPath) throws PersistenceException {
+    public boolean copy(final  @NotNull ResolveContext<T> ctx,
+              final @NotNull String srcAbsPath,
+              final @NotNull String destAbsPath) throws PersistenceException {
         return false;
     }
 
@@ -655,9 +655,9 @@
      * @throws PersistenceException If an error occurs.
      * @return {@code true} if the provider can perform the move
      */
-    public boolean move(final  @Nonnull ResolveContext<T> ctx,
-              final @Nonnull String srcAbsPath,
-              final @Nonnull String destAbsPath) throws PersistenceException {
+    public boolean move(final  @NotNull ResolveContext<T> ctx,
+              final @NotNull String srcAbsPath,
+              final @NotNull String destAbsPath) throws PersistenceException {
         return false;
     }
 }
diff --git a/src/main/java/org/apache/sling/spi/resource/provider/package-info.java b/src/main/java/org/apache/sling/spi/resource/provider/package-info.java
index f0818be..866f004 100644
--- a/src/main/java/org/apache/sling/spi/resource/provider/package-info.java
+++ b/src/main/java/org/apache/sling/spi/resource/provider/package-info.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-@Version("1.2.0")
+@Version("1.2.1")
 package org.apache.sling.spi.resource.provider;
 
 import org.osgi.annotation.versioning.Version;