You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by ta...@apache.org on 2021/04/20 07:40:19 UTC

[myfaces] branch master updated: use Assert util

This is an automated email from the ASF dual-hosted git repository.

tandraschko pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/myfaces.git


The following commit(s) were added to refs/heads/master by this push:
     new 4a126d6  use Assert util
4a126d6 is described below

commit 4a126d6c8a707d95983fdc60a6b93f07edb1bc5a
Author: Thomas Andraschko <ta...@apache.org>
AuthorDate: Tue Apr 20 09:40:09 2021 +0200

    use Assert util
---
 api/src/main/java/jakarta/faces/FactoryFinder.java | 15 ++--
 .../jakarta/faces/application/FacesMessage.java    | 13 ++-
 .../java/jakarta/faces/application/Resource.java   |  7 +-
 .../jakarta/faces/application/ResourceHandler.java |  6 +-
 .../jakarta/faces/application/StateManager.java    |  6 +-
 .../java/jakarta/faces/component/UIComponent.java  | 51 ++++--------
 .../jakarta/faces/component/UIComponentBase.java   | 97 ++++++----------------
 .../main/java/jakarta/faces/component/UIData.java  | 39 ++++-----
 .../main/java/jakarta/faces/component/UIForm.java  | 17 ++--
 .../main/java/jakarta/faces/component/UIInput.java | 33 ++------
 .../jakarta/faces/component/UISelectBoolean.java   | 13 +--
 .../java/jakarta/faces/component/UISelectMany.java | 11 +--
 .../jakarta/faces/component/UIViewParameter.java   |  6 +-
 .../java/jakarta/faces/component/UIViewRoot.java   | 43 ++++------
 .../faces/component/_ComponentAttributesMap.java   | 11 +--
 .../faces/component/_ComponentChildrenList.java    | 17 ++--
 .../faces/component/_ComponentFacetMap.java        | 23 ++---
 .../jakarta/faces/component/_ViewAttributeMap.java |  7 +-
 .../faces/component/behavior/AjaxBehavior.java     | 14 +---
 .../faces/component/behavior/BehaviorBase.java     | 22 ++---
 .../component/behavior/ClientBehaviorBase.java     | 22 ++---
 .../component/behavior/ClientBehaviorContext.java  | 34 +++-----
 .../component/behavior/_DeltaStateHelper.java      |  7 +-
 .../java/jakarta/faces/context/FacesContext.java   | 11 +--
 .../jakarta/faces/convert/BigDecimalConverter.java | 13 ++-
 .../jakarta/faces/convert/BigIntegerConverter.java | 13 ++-
 .../jakarta/faces/convert/BooleanConverter.java    | 13 ++-
 .../java/jakarta/faces/convert/ByteConverter.java  | 13 ++-
 .../jakarta/faces/convert/CharacterConverter.java  | 13 ++-
 .../jakarta/faces/convert/DateTimeConverter.java   | 21 ++---
 .../jakarta/faces/convert/DoubleConverter.java     | 13 ++-
 .../java/jakarta/faces/convert/EnumConverter.java  | 22 ++---
 .../java/jakarta/faces/convert/FloatConverter.java | 13 ++-
 .../jakarta/faces/convert/IntegerConverter.java    | 13 ++-
 .../java/jakarta/faces/convert/LongConverter.java  | 13 ++-
 .../jakarta/faces/convert/NumberConverter.java     | 13 ++-
 .../java/jakarta/faces/convert/ShortConverter.java | 13 ++-
 .../main/java/jakarta/faces/event/PhaseEvent.java  | 16 +---
 api/src/main/java/jakarta/faces/event/PhaseId.java |  7 +-
 .../java/jakarta/faces/model/ArrayDataModel.java   |  7 +-
 .../jakarta/faces/model/CollectionDataModel.java   |  6 +-
 .../main/java/jakarta/faces/model/DataModel.java   | 13 ++-
 .../jakarta/faces/model/IterableDataModel.java     |  6 +-
 .../java/jakarta/faces/model/ListDataModel.java    |  6 +-
 .../jakarta/faces/model/ResultSetDataModel.java    |  6 +-
 .../main/java/jakarta/faces/model/SelectItem.java  |  6 +-
 .../java/jakarta/faces/model/SelectItemGroup.java  | 21 ++---
 .../faces/render/ClientBehaviorRenderer.java       | 16 +---
 .../main/java/jakarta/faces/render/RenderKit.java  | 19 ++---
 .../main/java/jakarta/faces/render/Renderer.java   | 61 +++-----------
 .../jakarta/faces/validator/BeanValidator.java     | 21 ++---
 .../faces/validator/DoubleRangeValidator.java      | 21 ++---
 .../jakarta/faces/validator/LengthValidator.java   | 23 ++---
 .../faces/validator/LongRangeValidator.java        | 21 ++---
 .../faces/validator/MethodExpressionValidator.java | 17 +---
 .../jakarta/faces/validator/RegexValidator.java    | 21 ++---
 .../jakarta/faces/validator/RequiredValidator.java | 11 +--
 .../jakarta/faces/view/facelets/FaceletCache.java  | 12 +--
 .../api/shared/ParametrizableFacesMessage.java     | 11 +--
 .../core/api/shared/SharedRendererUtils.java       |  7 +-
 .../myfaces/core/api/shared}/lang/Assert.java      |  2 +-
 .../myfaces/core/api/shared/lang/ClassUtils.java   | 16 +---
 .../application/ApplicationFactoryImpl.java        |  2 +-
 .../myfaces/application/ApplicationImpl.java       |  2 +-
 .../myfaces/application/ViewHandlerImpl.java       |  2 +-
 .../myfaces/application/viewstate/StateUtils.java  |  2 +-
 .../search/CompositeSearchKeywordResolver.java     |  2 +-
 .../component/validate/WholeBeanValidator.java     |  2 +-
 .../myfaces/component/visit/FullVisitContext.java  |  2 +-
 .../component/visit/PartialVisitContext.java       |  2 +-
 .../org/apache/myfaces/config/RuntimeConfig.java   |  2 +-
 .../myfaces/context/AjaxExceptionHandlerImpl.java  |  2 +-
 .../myfaces/context/ExceptionHandlerImpl.java      |  2 +-
 .../context/ExternalContextFactoryImpl.java        |  2 +-
 .../myfaces/context/FacesContextFactoryImpl.java   |  2 +-
 .../myfaces/context/servlet/FacesContextImpl.java  |  2 +-
 .../context/servlet/FacesContextImplBase.java      |  2 +-
 .../servlet/ServletExternalContextImpl.java        |  2 +-
 .../servlet/ServletExternalContextImplBase.java    |  2 +-
 .../org/apache/myfaces/flow/FlowHandlerImpl.java   |  2 +-
 .../apache/myfaces/lifecycle/LifecycleImpl.java    |  2 +-
 .../myfaces/renderkit/RenderKitFactoryImpl.java    |  2 +-
 .../apache/myfaces/renderkit/RendererUtils.java    |  2 +-
 .../renderkit/html/HtmlCompositeFacetRenderer.java |  2 +-
 .../myfaces/renderkit/html/HtmlRenderKitImpl.java  |  2 +-
 .../renderkit/html/HtmlResponseWriterImpl.java     |  2 +-
 .../myfaces/renderkit/html/HtmlScriptRenderer.java |  2 +-
 .../renderkit/html/HtmlStylesheetRenderer.java     |  2 +-
 .../html/base/HtmlInputFileRendererBase.java       |  2 +-
 .../myfaces/util/ParametrizableFacesMessage.java   |  2 +-
 .../myfaces/view/ViewDeclarationLanguageBase.java  |  2 +-
 .../view/facelets/AbstractFaceletCache.java        |  2 +-
 .../facelets/FaceletViewDeclarationLanguage.java   |  2 +-
 .../myfaces/view/facelets/compiler/Compiler.java   |  2 +-
 .../view/facelets/compiler/TagLibraryConfig.java   |  2 +-
 .../myfaces/view/facelets/compiler/UILeaf.java     |  2 +-
 .../myfaces/view/facelets/component/UIRepeat.java  |  2 +-
 .../view/facelets/el/DefaultFunctionMapper.java    |  2 +-
 .../facelets/impl/CacheELFaceletCacheImpl.java     |  2 +-
 .../view/facelets/impl/DefaultFaceletFactory.java  |  2 +-
 .../view/facelets/impl/FaceletCacheImpl.java       |  2 +-
 .../view/facelets/tag/CompositeTagDecorator.java   |  2 +-
 .../view/facelets/tag/CompositeTagLibrary.java     |  2 +-
 .../myfaces/view/facelets/tag/MetaRulesetImpl.java |  2 +-
 .../tag/composite/CompositeMetaRulesetImpl.java    |  2 +-
 105 files changed, 368 insertions(+), 802 deletions(-)

diff --git a/api/src/main/java/jakarta/faces/FactoryFinder.java b/api/src/main/java/jakarta/faces/FactoryFinder.java
index 81655f8..a462a6a 100755
--- a/api/src/main/java/jakarta/faces/FactoryFinder.java
+++ b/api/src/main/java/jakarta/faces/FactoryFinder.java
@@ -47,6 +47,7 @@ import java.util.concurrent.CopyOnWriteArrayList;
 import java.util.logging.Level;
 import java.util.logging.Logger;
 import jakarta.faces.component.search.SearchExpressionContextFactory;
+import org.apache.myfaces.core.api.shared.lang.Assert;
 import org.apache.myfaces.core.api.shared.lang.ClassUtils;
 
 /**
@@ -196,11 +197,8 @@ public final class FactoryFinder
      */
     public static Object getFactory(String factoryName) throws FacesException
     {
-        if (factoryName == null)
-        {
-            throw new NullPointerException("factoryName may not be null");
-        }
-        
+        Assert.notNull(factoryName, "factoryName");
+
         initializeFactoryFinderProviderFactory();
         
         if (factoryFinderProviderFactoryInstance == null)
@@ -523,11 +521,8 @@ public final class FactoryFinder
 
     public static void setFactory(String factoryName, String implName)
     {
-        if (factoryName == null)
-        {
-            throw new NullPointerException("factoryName may not be null");
-        }
-        
+        Assert.notNull(factoryName, "factoryName");
+
         initializeFactoryFinderProviderFactory();
         
         if (factoryFinderProviderFactoryInstance == null)
diff --git a/api/src/main/java/jakarta/faces/application/FacesMessage.java b/api/src/main/java/jakarta/faces/application/FacesMessage.java
index 6b8f542..450ba90 100755
--- a/api/src/main/java/jakarta/faces/application/FacesMessage.java
+++ b/api/src/main/java/jakarta/faces/application/FacesMessage.java
@@ -27,6 +27,7 @@ import java.util.Collections;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import org.apache.myfaces.core.api.shared.lang.Assert;
 
 /**
  *<p>
@@ -163,10 +164,8 @@ public class FacesMessage implements Serializable
      */
     public FacesMessage(FacesMessage.Severity severity, String summary, String detail)
     {
-        if (severity == null)
-        {
-            throw new NullPointerException("severity");
-        }
+        Assert.notNull(severity, "severity");
+
         _severity = severity;
         _summary = summary;
         _detail = detail;
@@ -187,10 +186,8 @@ public class FacesMessage implements Serializable
      */
     public void setSeverity(FacesMessage.Severity severity)
     {
-        if (severity == null)
-        {
-            throw new NullPointerException("severity");
-        }
+        Assert.notNull(severity, "severity");
+
         _severity = severity;
     }
 
diff --git a/api/src/main/java/jakarta/faces/application/Resource.java b/api/src/main/java/jakarta/faces/application/Resource.java
index cfc9513..b5d3d0b 100644
--- a/api/src/main/java/jakarta/faces/application/Resource.java
+++ b/api/src/main/java/jakarta/faces/application/Resource.java
@@ -24,6 +24,7 @@ import java.net.URL;
 import java.util.Map;
 
 import jakarta.faces.context.FacesContext;
+import org.apache.myfaces.core.api.shared.lang.Assert;
 
 /**
  * @since 2.0
@@ -75,10 +76,8 @@ public abstract class Resource extends ViewResource
 
     public void setResourceName(String resourceName)
     {
-        if (resourceName == null)
-        {
-            throw new NullPointerException();
-        }
+        Assert.notNull(resourceName);
+
         _resourceName = resourceName;
     }
     
diff --git a/api/src/main/java/jakarta/faces/application/ResourceHandler.java b/api/src/main/java/jakarta/faces/application/ResourceHandler.java
index c528a69..0befd24 100644
--- a/api/src/main/java/jakarta/faces/application/ResourceHandler.java
+++ b/api/src/main/java/jakarta/faces/application/ResourceHandler.java
@@ -26,6 +26,7 @@ import java.util.stream.Stream;
 import jakarta.faces.context.FacesContext;
 
 import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFWebConfigParam;
+import org.apache.myfaces.core.api.shared.lang.Assert;
 
 /**
  * @since 2.0
@@ -120,10 +121,7 @@ public abstract class ResourceHandler
     
     public boolean isResourceURL(java.lang.String url)
     {
-        if (url == null)
-        {
-            throw new NullPointerException();
-        }
+        Assert.notNull(url);
         return url.contains(RESOURCE_IDENTIFIER);
     }
     
diff --git a/api/src/main/java/jakarta/faces/application/StateManager.java b/api/src/main/java/jakarta/faces/application/StateManager.java
index b76ad17..193c460 100755
--- a/api/src/main/java/jakarta/faces/application/StateManager.java
+++ b/api/src/main/java/jakarta/faces/application/StateManager.java
@@ -25,6 +25,7 @@ import java.io.IOException;
 
 import jakarta.faces.component.UIViewRoot;
 import jakarta.faces.context.FacesContext;
+import org.apache.myfaces.core.api.shared.lang.Assert;
 
 /**
  * Responsible for storing sufficient information about a component tree so that an identical tree can later be
@@ -293,10 +294,7 @@ public abstract class StateManager
 
     public boolean isSavingStateInClient(FacesContext context)
     {
-        if (context == null)
-        {
-            throw new NullPointerException("context");
-        }
+        Assert.notNull(context, "context");
         if (_savingStateInClient != null)
         {
             return _savingStateInClient;
diff --git a/api/src/main/java/jakarta/faces/component/UIComponent.java b/api/src/main/java/jakarta/faces/component/UIComponent.java
index 52bcf02..efe6f1f 100755
--- a/api/src/main/java/jakarta/faces/component/UIComponent.java
+++ b/api/src/main/java/jakarta/faces/component/UIComponent.java
@@ -58,6 +58,7 @@ import jakarta.faces.render.RendererWrapper;
 
 import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFComponent;
 import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFWebConfigParam;
+import org.apache.myfaces.core.api.shared.lang.Assert;
 
 /**
  *
@@ -194,11 +195,9 @@ public abstract class UIComponent
     public boolean invokeOnComponent(FacesContext context, String clientId, ContextCallback callback)
             throws FacesException
     {
-        // java.lang.NullPointerException - if any of the arguments are null
-        if (context == null || clientId == null || callback == null)
-        {
-            throw new NullPointerException();
-        }
+        Assert.notNull(context, "context");
+        Assert.notNull(clientId, "clientId");
+        Assert.notNull(callback, "callback");
 
         pushComponentToEL(context, this);
         try
@@ -325,10 +324,8 @@ public abstract class UIComponent
 
     public void setValueExpression(String name, ValueExpression expression)
     {
-        if (name == null)
-        {
-            throw new NullPointerException("name");
-        }
+        Assert.notNull(name, "name");
+
         if (name.equals("id"))
         {
             throw new IllegalArgumentException("Can't set a ValueExpression for the 'id' property.");
@@ -404,10 +401,7 @@ public abstract class UIComponent
      */
     public String getContainerClientId(FacesContext ctx)
     {
-        if (ctx == null)
-        {
-            throw new NullPointerException("FacesContext ctx");
-        }
+        Assert.notNull(ctx, "ctx");
 
         return getClientId(ctx);
     }
@@ -618,10 +612,7 @@ public abstract class UIComponent
 
     public ValueExpression getValueExpression(String name)
     {
-        if (name == null)
-        {
-            throw new NullPointerException("name can not be null");
-        }
+        Assert.notNull(name, "name");
 
         Map<String, Object> bindings = (Map<String, Object>) getStateHelper().get(PropertyKeys.bindings);
         if (bindings != null)
@@ -667,10 +658,7 @@ public abstract class UIComponent
 
     public void encodeAll(FacesContext context) throws IOException
     {
-        if (context == null)
-        {
-            throw new NullPointerException();
-        }
+        Assert.notNull(context, "context");
 
         pushComponentToEL(context, this);
         try
@@ -788,16 +776,11 @@ public abstract class UIComponent
     public void subscribeToEvent(Class<? extends SystemEvent> eventClass,
                                  ComponentSystemEventListener componentListener)
     {
+        Assert.notNull(eventClass, "eventClass");
+        Assert.notNull(componentListener, "componentListener");
+
         // The default implementation creates an inner SystemEventListener instance that wraps argument
         // componentListener as the listener argument.
-        if (eventClass == null)
-        {
-            throw new NullPointerException("eventClass required");
-        }
-        if (componentListener == null)
-        {
-            throw new NullPointerException("componentListener required");
-        }
 
         SystemEventListener listener = new EventListenerWrapper(this, componentListener);
 
@@ -831,14 +814,8 @@ public abstract class UIComponent
          * -= Leonardo Uribe=- Yes, it is supposed a wrapper should be used to hold listener references, to prevent
          * serialize component instances on the state.
          */
-        if (eventClass == null)
-        {
-            throw new NullPointerException("eventClass required");
-        }
-        if (componentListener == null)
-        {
-            throw new NullPointerException("componentListener required");
-        }
+        Assert.notNull(eventClass, "eventClass");
+        Assert.notNull(componentListener, "componentListener");
 
         if (_systemEventListenerClassMap != null)
         {
diff --git a/api/src/main/java/jakarta/faces/component/UIComponentBase.java b/api/src/main/java/jakarta/faces/component/UIComponentBase.java
index 0f8ebbf..39a2d6d 100755
--- a/api/src/main/java/jakarta/faces/component/UIComponentBase.java
+++ b/api/src/main/java/jakarta/faces/component/UIComponentBase.java
@@ -56,6 +56,7 @@ import java.util.List;
 import java.util.Map;
 import java.util.logging.Logger;
 import jakarta.faces.event.PhaseId;
+import org.apache.myfaces.core.api.shared.lang.Assert;
 import org.apache.myfaces.core.api.shared.lang.SharedStringBuilder;
 
 
@@ -380,11 +381,8 @@ public abstract class UIComponentBase extends UIComponent
     @Override
     public void broadcast(FacesEvent event) throws AbortProcessingException
     {
-        if (event == null)
-        {
-            throw new NullPointerException("event");
-        }
-        
+        Assert.notNull(event, "event");
+
         if (event instanceof BehaviorEvent && event.getComponent() == this)
         {
             Behavior behavior = ((BehaviorEvent) event).getBehavior();
@@ -440,11 +438,8 @@ public abstract class UIComponentBase extends UIComponent
     @Override
     public void decode(FacesContext context)
     {
-        if (context == null)
-        {
-            throw new NullPointerException("context");
-        }
-        
+        Assert.notNull(context, "context");
+
         setCachedRenderer(null);
         Renderer renderer = getRenderer(context);
         if (renderer != null)
@@ -465,10 +460,7 @@ public abstract class UIComponentBase extends UIComponent
     @Override
     public void encodeAll(FacesContext context) throws IOException
     {
-        if (context == null)
-        {
-            throw new NullPointerException();
-        }
+        Assert.notNull(context, "context");
 
         pushComponentToEL(context, this);
         try
@@ -540,10 +532,7 @@ public abstract class UIComponentBase extends UIComponent
     @Override
     public void encodeBegin(FacesContext context) throws IOException
     {
-        if (context == null)
-        {
-            throw new NullPointerException("context");
-        }
+        Assert.notNull(context, "context");
 
         try
         {
@@ -582,10 +571,7 @@ public abstract class UIComponentBase extends UIComponent
     @Override
     public void encodeChildren(FacesContext context) throws IOException
     {
-        if (context == null)
-        {
-            throw new NullPointerException("context");
-        }
+        Assert.notNull(context, "context");
 
         boolean isCachedFacesContext = isCachedFacesContext();
         try
@@ -632,10 +618,8 @@ public abstract class UIComponentBase extends UIComponent
     @Override
     public void encodeEnd(FacesContext context) throws IOException
     {
-        if (context == null)
-        {
-            throw new NullPointerException("context");
-        }
+        Assert.notNull(context, "context");
+
         try
         {
             setCachedFacesContext(context);
@@ -686,10 +670,8 @@ public abstract class UIComponentBase extends UIComponent
     @Override
     public UIComponent findComponent(String expr)
     {
-        if (expr == null)
-        {
-            throw new NullPointerException("expr");
-        }
+        Assert.notNull(expr, "expr");
+
         if (expr.length() == 0)
         {
             return null;
@@ -880,10 +862,7 @@ public abstract class UIComponentBase extends UIComponent
     @Override
     public String getClientId(FacesContext context)
     {
-        if (context == null)
-        {
-            throw new NullPointerException("context");
-        }
+        Assert.notNull(context, "context");
 
         if (_clientId != null)
         {
@@ -1200,10 +1179,8 @@ public abstract class UIComponentBase extends UIComponent
     @Override
     protected void addFacesListener(FacesListener listener)
     {
-        if (listener == null)
-        {
-            throw new NullPointerException("listener");
-        }
+        Assert.notNull(listener, "listener");
+
         if (_facesListeners == null)
         {
             // How many facesListeners have single component normally? 
@@ -1229,10 +1206,8 @@ public abstract class UIComponentBase extends UIComponent
     @Override
     protected FacesListener[] getFacesListeners(Class clazz)
     {
-        if (clazz == null)
-        {
-            throw new NullPointerException("Class is null");
-        }
+        Assert.notNull(clazz, "clazz");
+
         if (!FacesListener.class.isAssignableFrom(clazz))
         {
             throw new IllegalArgumentException("Class " + clazz.getName() + " must implement " + FacesListener.class);
@@ -1269,10 +1244,8 @@ public abstract class UIComponentBase extends UIComponent
     @Override
     protected Renderer getRenderer(FacesContext context)
     {
-        if (context == null)
-        {
-            throw new NullPointerException("context");
-        }
+        Assert.notNull(context, "context");
+
         Renderer renderer = getCachedRenderer();
         if (renderer != null)
         {
@@ -1303,10 +1276,7 @@ public abstract class UIComponentBase extends UIComponent
     @Override
     protected void removeFacesListener(FacesListener listener)
     {
-        if (listener == null)
-        {
-            throw new NullPointerException("listener is null");
-        }
+        Assert.notNull(listener, "listener");
 
         if (_facesListeners != null)
         {
@@ -1317,10 +1287,8 @@ public abstract class UIComponentBase extends UIComponent
     @Override
     public void queueEvent(FacesEvent event)
     {
-        if (event == null)
-        {
-            throw new NullPointerException("event");
-        }
+        Assert.notNull(event, "event");
+
         UIComponent parent = getParent();
         if (parent == null)
         {
@@ -1473,10 +1441,7 @@ public abstract class UIComponentBase extends UIComponent
     @Override
     public Object processSaveState(FacesContext context)
     {
-        if (context == null)
-        {
-            throw new NullPointerException("context");
-        }
+        Assert.notNull(context, "context");
 
         if (isTransient())
         {
@@ -1563,10 +1528,7 @@ public abstract class UIComponentBase extends UIComponent
     @Override
     public void processRestoreState(FacesContext context, Object state)
     {
-        if (context == null)
-        {
-            throw new NullPointerException("context");
-        }
+        Assert.notNull(context, "context");
 
         Object[] stateValues = (Object[]) state;
 
@@ -1734,10 +1696,8 @@ public abstract class UIComponentBase extends UIComponent
 
     public static Object restoreAttachedState(FacesContext context, Object stateObj) throws IllegalStateException
     {
-        if (context == null)
-        {
-            throw new NullPointerException("context");
-        }
+        Assert.notNull(context, "context");
+
         if (stateObj == null)
         {
             return null;
@@ -2310,10 +2270,7 @@ public abstract class UIComponentBase extends UIComponent
 
     private boolean _isPhaseExecutable(FacesContext context)
     {
-        if (context == null)
-        {
-            throw new NullPointerException("context");
-        }
+        Assert.notNull(context, "context");
 
         // If the rendered property of this UIComponent is false, skip further processing.
         return isRendered();
diff --git a/api/src/main/java/jakarta/faces/component/UIData.java b/api/src/main/java/jakarta/faces/component/UIData.java
index a1bbbc8..6f4ab25 100644
--- a/api/src/main/java/jakarta/faces/component/UIData.java
+++ b/api/src/main/java/jakarta/faces/component/UIData.java
@@ -58,6 +58,7 @@ import jakarta.faces.model.ScalarDataModel;
 import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFComponent;
 import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFFacet;
 import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFProperty;
+import org.apache.myfaces.core.api.shared.lang.Assert;
 
 /**
  * Represents an abstraction of a component which has multiple "rows" of data.
@@ -330,10 +331,9 @@ public class UIData extends UIComponentBase implements NamingContainer, UniqueId
     public boolean invokeOnComponent(FacesContext context, String clientId, ContextCallback callback)
         throws FacesException
     {
-        if (context == null || clientId == null || callback == null)
-        {
-            throw new NullPointerException();
-        }
+        Assert.notNull(context, "context");
+        Assert.notNull(clientId, "clientId");
+        Assert.notNull(callback, "callback");
         
         final String baseClientId = getClientId(context);
 
@@ -1459,11 +1459,9 @@ public class UIData extends UIComponentBase implements NamingContainer, UniqueId
     @Override
     public void setValueExpression(String name, ValueExpression binding)
     {
-        if (name == null)
-        {
-            throw new NullPointerException("name");
-        }
-        else if (name.equals("value"))
+        Assert.notNull(name, "name");
+
+        if (name.equals("value"))
         {
             _dataModelMap.clear();
         }
@@ -1506,10 +1504,8 @@ public class UIData extends UIComponentBase implements NamingContainer, UniqueId
     @Override
     public void queueEvent(FacesEvent event)
     {
-        if (event == null)
-        {
-            throw new NullPointerException("event");
-        }
+        Assert.notNull(event, "event");
+
         super.queueEvent(new FacesEventWrapper(event, getRowIndex(), this));
     }
 
@@ -1650,10 +1646,8 @@ public class UIData extends UIComponentBase implements NamingContainer, UniqueId
     @Override
     public void processDecodes(FacesContext context)
     {
-        if (context == null)
-        {
-            throw new NullPointerException("context");
-        }
+        Assert.notNull(context, "context");
+
         try
         {
             setCachedFacesContext(context);
@@ -1689,10 +1683,7 @@ public class UIData extends UIComponentBase implements NamingContainer, UniqueId
     @Override
     public void processValidators(FacesContext context)
     {
-        if (context == null)
-        {
-            throw new NullPointerException("context");
-        }
+        Assert.notNull(context, "context");
 
         try
         {
@@ -1735,10 +1726,8 @@ public class UIData extends UIComponentBase implements NamingContainer, UniqueId
     @Override
     public void processUpdates(FacesContext context)
     {
-        if (context == null)
-        {
-            throw new NullPointerException("context");
-        }
+        Assert.notNull(context, "context");
+
         try
         {
             setCachedFacesContext(context);
diff --git a/api/src/main/java/jakarta/faces/component/UIForm.java b/api/src/main/java/jakarta/faces/component/UIForm.java
index 6e9b312..2082c61 100755
--- a/api/src/main/java/jakarta/faces/component/UIForm.java
+++ b/api/src/main/java/jakarta/faces/component/UIForm.java
@@ -32,6 +32,7 @@ import jakarta.faces.event.PreValidateEvent;
 import jakarta.faces.view.Location;
 
 import java.util.Collection;
+import org.apache.myfaces.core.api.shared.lang.Assert;
 
 /**
  * see Javadoc of <a href="http://java.sun.com/javaee/javaserverfaces/1.2/docs/api/index.html">JSF Specification</a>
@@ -118,10 +119,8 @@ public class UIForm extends UIComponentBase implements NamingContainer, UniqueId
     @Override
     public void processDecodes(FacesContext context)
     {
-        if (context == null)
-        {
-            throw new NullPointerException("context");
-        }
+        Assert.notNull(context, "context");
+
         try
         {
             setCachedFacesContext(context);
@@ -164,10 +163,7 @@ public class UIForm extends UIComponentBase implements NamingContainer, UniqueId
     @Override
     public void processValidators(FacesContext context)
     {
-        if (context == null)
-        {
-            throw new NullPointerException("context");
-        }
+        Assert.notNull(context, "context");
         
         try
         {
@@ -220,10 +216,7 @@ public class UIForm extends UIComponentBase implements NamingContainer, UniqueId
     @Override
     public void processUpdates(FacesContext context)
     {
-        if (context == null)
-        {
-            throw new NullPointerException("context");
-        }
+        Assert.notNull(context, "context");
         
         try
         {
diff --git a/api/src/main/java/jakarta/faces/component/UIInput.java b/api/src/main/java/jakarta/faces/component/UIInput.java
index 0540035..4b43c18 100644
--- a/api/src/main/java/jakarta/faces/component/UIInput.java
+++ b/api/src/main/java/jakarta/faces/component/UIInput.java
@@ -55,6 +55,7 @@ import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFExclude
 import org.apache.myfaces.core.api.shared.BeanValidationUtils;
 import org.apache.myfaces.core.api.shared.ExternalSpecifications;
 import org.apache.myfaces.core.api.shared.MessageUtils;
+import org.apache.myfaces.core.api.shared.lang.Assert;
 
 /**
  * UICommand is a base abstraction for components that implement ActionSource.
@@ -193,10 +194,7 @@ public class UIInput extends UIOutput implements EditableValueHolder
     @Override
     public void processDecodes(FacesContext context)
     {
-        if (context == null)
-        {
-            throw new NullPointerException("context");
-        }
+        Assert.notNull(context, "context");
 
         try
         {
@@ -253,10 +251,7 @@ public class UIInput extends UIOutput implements EditableValueHolder
     @Override
     public void processValidators(FacesContext context)
     {
-        if (context == null)
-        {
-            throw new NullPointerException("context");
-        }
+        Assert.notNull(context, "context");
         
         try
         {
@@ -328,10 +323,8 @@ public class UIInput extends UIOutput implements EditableValueHolder
     @Override
     public void processUpdates(FacesContext context)
     {
-        if (context == null)
-        {
-            throw new NullPointerException("context");
-        }
+        Assert.notNull(context, "context");
+
         try
         {
             setCachedFacesContext(context);
@@ -392,10 +385,8 @@ public class UIInput extends UIOutput implements EditableValueHolder
 
     public void updateModel(FacesContext context)
     {
-        if (context == null)
-        {
-            throw new NullPointerException();
-        }
+        Assert.notNull(context, "context");
+
         if (!isValid() || !isLocalValueSet())
         {
             return;
@@ -651,10 +642,7 @@ public class UIInput extends UIOutput implements EditableValueHolder
      */
     public void validate(FacesContext context)
     {
-        if (context == null)
-        {
-            throw new NullPointerException("context");
-        }
+        Assert.notNull(context, "context");
 
         Object submittedValue = getSubmittedValue();
         if (submittedValue == null)
@@ -879,10 +867,7 @@ public class UIInput extends UIOutput implements EditableValueHolder
     @Override
     public void addValidator(Validator validator)
     {
-        if (validator == null)
-        {
-            throw new NullPointerException("validator");
-        }
+        Assert.notNull(validator, "validator");
         
         if (_validatorList == null)
         {
diff --git a/api/src/main/java/jakarta/faces/component/UISelectBoolean.java b/api/src/main/java/jakarta/faces/component/UISelectBoolean.java
index 3ca8c45..a6c5ca5 100644
--- a/api/src/main/java/jakarta/faces/component/UISelectBoolean.java
+++ b/api/src/main/java/jakarta/faces/component/UISelectBoolean.java
@@ -22,6 +22,7 @@ import jakarta.el.ValueExpression;
 
 import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFComponent;
 import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFProperty;
+import org.apache.myfaces.core.api.shared.lang.Assert;
 
 /**
  * A component that allows the user to select or unselect an object.
@@ -70,11 +71,8 @@ public class UISelectBoolean extends UIInput
     @Override
     public ValueExpression getValueExpression(String name)
     {
-        if (name == null)
-        {
-            throw new NullPointerException("name");
-        }
-        
+        Assert.notNull(name, "name");
+
         if (name.equals("selected"))
         {
             return super.getValueExpression("value");
@@ -88,10 +86,7 @@ public class UISelectBoolean extends UIInput
     @Override
     public void setValueExpression(String name, ValueExpression binding)
     {
-        if (name == null)
-        {
-            throw new NullPointerException("name");
-        }
+        Assert.notNull(name, "name");
         
         if (name.equals("selected"))
         {
diff --git a/api/src/main/java/jakarta/faces/component/UISelectMany.java b/api/src/main/java/jakarta/faces/component/UISelectMany.java
index 2ab6d36..e3aeb7d 100644
--- a/api/src/main/java/jakarta/faces/component/UISelectMany.java
+++ b/api/src/main/java/jakarta/faces/component/UISelectMany.java
@@ -42,6 +42,7 @@ import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFJspProp
 import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFJspProperty;
 import org.apache.myfaces.core.api.shared.ExternalSpecifications;
 import org.apache.myfaces.core.api.shared.MessageUtils;
+import org.apache.myfaces.core.api.shared.lang.Assert;
 
 /**
  * Base class for the various component classes that allow a user to select zero or more options from a set.
@@ -94,10 +95,7 @@ public class UISelectMany extends UIInput
     @Override
     public ValueExpression getValueExpression(String name)
     {
-        if (name == null)
-        {
-            throw new NullPointerException("name");
-        }
+        Assert.notNull(name, "name");
         
         if (name.equals("selectedValues"))
         {
@@ -112,10 +110,7 @@ public class UISelectMany extends UIInput
     @Override
     public void setValueExpression(String name, ValueExpression binding)
     {
-        if (name == null)
-        {
-            throw new NullPointerException("name");
-        }
+        Assert.notNull(name, "name");
         
         if (name.equals("selectedValues"))
         {
diff --git a/api/src/main/java/jakarta/faces/component/UIViewParameter.java b/api/src/main/java/jakarta/faces/component/UIViewParameter.java
index 03db5d5..a2cbf81 100644
--- a/api/src/main/java/jakarta/faces/component/UIViewParameter.java
+++ b/api/src/main/java/jakarta/faces/component/UIViewParameter.java
@@ -38,6 +38,7 @@ import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFCompone
 import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFJspProperty;
 import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFProperty;
 import org.apache.myfaces.core.api.shared.MessageUtils;
+import org.apache.myfaces.core.api.shared.lang.Assert;
 
 /**
  * 
@@ -92,10 +93,7 @@ public class UIViewParameter extends UIInput
     @Override
     public void encodeAll(FacesContext context) throws IOException
     {
-        if (context == null) 
-        {
-            throw new NullPointerException();
-        }
+        Assert.notNull(context, "context");
         setSubmittedValue(getStringValue(context));
     }
 
diff --git a/api/src/main/java/jakarta/faces/component/UIViewRoot.java b/api/src/main/java/jakarta/faces/component/UIViewRoot.java
index e28d459..9e0ab9f 100644
--- a/api/src/main/java/jakarta/faces/component/UIViewRoot.java
+++ b/api/src/main/java/jakarta/faces/component/UIViewRoot.java
@@ -67,6 +67,7 @@ import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFCompone
 import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFJspProperty;
 import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFProperty;
 import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFWebConfigParam;
+import org.apache.myfaces.core.api.shared.lang.Assert;
 
 /**
  * Creates a JSF View, which is a container that holds all of the components that are part of the view.
@@ -361,10 +362,7 @@ public class UIViewRoot extends UIComponentBase implements UniqueIdVendor
      */
     public void addPhaseListener(PhaseListener phaseListener)
     {
-        if (phaseListener == null)
-        {
-            throw new NullPointerException("phaseListener");
-        }
+        Assert.notNull(phaseListener, "phaseListener");
         
         getStateHelper().add(PropertyKeys.phaseListeners, phaseListener);
     }
@@ -518,7 +516,7 @@ public class UIViewRoot extends UIComponentBase implements UniqueIdVendor
     @Override
     public void encodeBegin(FacesContext context) throws IOException
     {
-        checkNull(context, "context");
+        Assert.notNull(context, "context");
 
         boolean skipPhase = false;
 
@@ -577,7 +575,7 @@ public class UIViewRoot extends UIComponentBase implements UniqueIdVendor
     @Override
     public void encodeEnd(FacesContext context) throws IOException
     {
-        checkNull(context, "context");
+        Assert.notNull(context, "context");
 
         if (!context.getResponseComplete())
         {
@@ -672,10 +670,7 @@ public class UIViewRoot extends UIComponentBase implements UniqueIdVendor
      */
     public List<UIComponent> getComponentResources(FacesContext context, String target)
     {
-        if (target == null)
-        {
-            throw new NullPointerException("target");
-        }
+        Assert.notNull(target, "target");
         // Locate the facet for the component by calling getFacet() using target as the argument
         UIComponent facet = getFacet(target);
 
@@ -916,14 +911,14 @@ public class UIViewRoot extends UIComponentBase implements UniqueIdVendor
 
     public void processApplication(final FacesContext context)
     {
-        checkNull(context, "context");
+        Assert.notNull(context, "context");
         _process(context, PhaseId.INVOKE_APPLICATION, null);
     }
 
     @Override
     public void processDecodes(FacesContext context)
     {
-        checkNull(context, "context");
+        Assert.notNull(context, "context");
         _process(context, PhaseId.APPLY_REQUEST_VALUES, APPLY_REQUEST_VALUES_PROCESSOR);
     }
 
@@ -949,7 +944,7 @@ public class UIViewRoot extends UIComponentBase implements UniqueIdVendor
     @Override
     public void queueEvent(FacesEvent event)
     {
-        checkNull(event, "event");
+        Assert.notNull(event, "event");
         if (_events == null)
         {
             _events = new ArrayList<FacesEvent>();
@@ -961,14 +956,14 @@ public class UIViewRoot extends UIComponentBase implements UniqueIdVendor
     @Override
     public void processValidators(FacesContext context)
     {
-        checkNull(context, "context");
+        Assert.notNull(context, "context");
         _process(context, PhaseId.PROCESS_VALIDATIONS, PROCESS_VALIDATORS_PROCESSOR);
     }
 
     @Override
     public void processUpdates(FacesContext context)
     {
-        checkNull(context, "context");
+        Assert.notNull(context, "context");
         _process(context, PhaseId.UPDATE_MODEL_VALUES, UPDATE_MODEL_PROCESSOR);
     }
 
@@ -1305,14 +1300,6 @@ public class UIViewRoot extends UIComponentBase implements UniqueIdVendor
         _events = null;
     }
 
-    private void checkNull(Object value, String valueLabel)
-    {
-        if (value == null)
-        {
-            throw new NullPointerException(valueLabel + " is null");
-        }
-    }
-
     public void setRenderKitId(String renderKitId)
     {
         getStateHelper().put(PropertyKeys.renderKitId, renderKitId );
@@ -1639,7 +1626,7 @@ public class UIViewRoot extends UIComponentBase implements UniqueIdVendor
     
     public List<SystemEventListener> getViewListenersForEventClass(Class<? extends SystemEvent> systemEvent)
     {
-        checkNull(systemEvent, "systemEvent");
+        Assert.notNull(systemEvent, "systemEvent");
         if (_systemEventListeners == null)
         {
             return null;
@@ -1651,8 +1638,8 @@ public class UIViewRoot extends UIComponentBase implements UniqueIdVendor
     {
         List<SystemEventListener> listeners;
         
-        checkNull(systemEvent, "systemEvent");
-        checkNull(listener, "listener");
+        Assert.notNull(systemEvent, "systemEvent");
+        Assert.notNull(listener, "listener");
         
         if (_systemEventListeners == null)
         {
@@ -1674,8 +1661,8 @@ public class UIViewRoot extends UIComponentBase implements UniqueIdVendor
     {
         List<SystemEventListener> listeners;
         
-        checkNull (systemEvent, "systemEvent");
-        checkNull (listener, "listener");
+        Assert.notNull (systemEvent, "systemEvent");
+        Assert.notNull (listener, "listener");
         
         if (_systemEventListeners == null)
         {
diff --git a/api/src/main/java/jakarta/faces/component/_ComponentAttributesMap.java b/api/src/main/java/jakarta/faces/component/_ComponentAttributesMap.java
index b1aff8e..28deeb2 100755
--- a/api/src/main/java/jakarta/faces/component/_ComponentAttributesMap.java
+++ b/api/src/main/java/jakarta/faces/component/_ComponentAttributesMap.java
@@ -31,6 +31,7 @@ import jakarta.el.ValueExpression;
 import jakarta.faces.FacesException;
 import jakarta.faces.application.Resource;
 import jakarta.faces.context.FacesContext;
+import org.apache.myfaces.core.api.shared.lang.Assert;
 import org.apache.myfaces.core.api.shared.lang.LambdaPropertyDescriptor;
 import org.apache.myfaces.core.api.shared.lang.PropertyDescriptorUtils;
 import org.apache.myfaces.core.api.shared.lang.PropertyDescriptorWrapper;
@@ -530,10 +531,7 @@ class _ComponentAttributesMap implements Map<String, Object>, Serializable
     @Override
     public Object put(String key, Object value)
     {
-        if (key == null)
-        {
-            throw new NullPointerException("key");
-        }
+        Assert.notNull(key, "key");
 
         int keyLength = ((String)key).length();
         if (keyLength >= MIN_LENGHT_CHECK)
@@ -701,10 +699,7 @@ class _ComponentAttributesMap implements Map<String, Object>, Serializable
 
     private void checkKey(Object key)
     {
-        if (key == null)
-        {
-            throw new NullPointerException("key");
-        }
+        Assert.notNull(key, "key");
 
         if (!(key instanceof String))
         {
diff --git a/api/src/main/java/jakarta/faces/component/_ComponentChildrenList.java b/api/src/main/java/jakarta/faces/component/_ComponentChildrenList.java
index 337056b..043ca4f 100755
--- a/api/src/main/java/jakarta/faces/component/_ComponentChildrenList.java
+++ b/api/src/main/java/jakarta/faces/component/_ComponentChildrenList.java
@@ -23,6 +23,7 @@ import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Iterator;
 import java.util.Map;
+import org.apache.myfaces.core.api.shared.lang.Assert;
 
 class _ComponentChildrenList extends ArrayList<UIComponent> implements Serializable
 {
@@ -50,7 +51,7 @@ class _ComponentChildrenList extends ArrayList<UIComponent> implements Serializa
     @Override
     public UIComponent set(int index, UIComponent value)
     {
-        checkValue(value);
+        Assert.notNull(value, "value");
         removeChildrenFromParent(value);
         UIComponent child = super.set(index, value);
         if (child != value)
@@ -68,7 +69,7 @@ class _ComponentChildrenList extends ArrayList<UIComponent> implements Serializa
     @Override
     public boolean add(UIComponent value)
     {
-        checkValue(value);
+        Assert.notNull(value, "value");
 
         removeChildrenFromParent(value);
         boolean res = super.add(value);
@@ -81,7 +82,7 @@ class _ComponentChildrenList extends ArrayList<UIComponent> implements Serializa
     @Override
     public void add(int index, UIComponent value)
     {
-        checkValue(value);
+        Assert.notNull(value, "value");
         
         removeChildrenFromParent(value);
         
@@ -102,14 +103,6 @@ class _ComponentChildrenList extends ArrayList<UIComponent> implements Serializa
         return child;
     }
 
-    private void checkValue(Object value)
-    {
-        if (value == null)
-        {
-            throw new NullPointerException("value");
-        }
-    }
-
     private void childRemoved(UIComponent child)
     {
         child.setParent(null);
@@ -154,7 +147,7 @@ class _ComponentChildrenList extends ArrayList<UIComponent> implements Serializa
             throw new ClassCastException("value is not a UIComponent");
         }
         
-        checkValue(value);
+        Assert.notNull(value, "value");
 
         if (super.remove(value))
         {
diff --git a/api/src/main/java/jakarta/faces/component/_ComponentFacetMap.java b/api/src/main/java/jakarta/faces/component/_ComponentFacetMap.java
index 1145165..bd6cf10 100755
--- a/api/src/main/java/jakarta/faces/component/_ComponentFacetMap.java
+++ b/api/src/main/java/jakarta/faces/component/_ComponentFacetMap.java
@@ -25,6 +25,7 @@ import java.util.Collection;
 import java.util.Iterator;
 import java.util.Map;
 import java.util.Set;
+import org.apache.myfaces.core.api.shared.lang.Assert;
 
 class _ComponentFacetMap<V extends UIComponent> implements Map<String, V>, Serializable
 {
@@ -140,14 +141,8 @@ class _ComponentFacetMap<V extends UIComponent> implements Map<String, V>, Seria
     @Override
     public V put(String key, V value)
     {
-        if (key == null)
-        {
-            throw new NullPointerException("key");
-        }
-        if (value == null)
-        {
-            throw new NullPointerException("value");
-        }
+        Assert.notNull(key, "key");
+        Assert.notNull(value, "value");
 
         setNewParent(key, value);
         V previousValue = _map.put(key, value);
@@ -187,10 +182,8 @@ class _ComponentFacetMap<V extends UIComponent> implements Map<String, V>, Seria
 
     private void checkKey(Object key)
     {
-        if (key == null)
-        {
-            throw new NullPointerException("key");
-        }
+        Assert.notNull(key, "key");
+
         if (!(key instanceof String))
         {
             throw new ClassCastException("key is not a String");
@@ -199,10 +192,8 @@ class _ComponentFacetMap<V extends UIComponent> implements Map<String, V>, Seria
 
     private void checkValue(Object value)
     {
-        if (value == null)
-        {
-            throw new NullPointerException("value");
-        }
+        Assert.notNull(value, "value");
+
         if (!(value instanceof UIComponent))
         {
             throw new ClassCastException("value is not a UIComponent");
diff --git a/api/src/main/java/jakarta/faces/component/_ViewAttributeMap.java b/api/src/main/java/jakarta/faces/component/_ViewAttributeMap.java
index c67c31e..8f5b15e 100644
--- a/api/src/main/java/jakarta/faces/component/_ViewAttributeMap.java
+++ b/api/src/main/java/jakarta/faces/component/_ViewAttributeMap.java
@@ -23,6 +23,7 @@ import java.util.Collection;
 import java.util.Map;
 import java.util.Map.Entry;
 import java.util.Set;
+import org.apache.myfaces.core.api.shared.lang.Assert;
 
 class _ViewAttributeMap implements Map<String, Object>, Serializable
 {
@@ -183,10 +184,8 @@ class _ViewAttributeMap implements Map<String, Object>, Serializable
     
     private void checkKey(Object key)
     {
-        if (key == null)
-        {
-            throw new NullPointerException("key");
-        }
+        Assert.notNull(key, "key");
+
         if (!(key instanceof String))
         {
             throw new ClassCastException("key is not a String");
diff --git a/api/src/main/java/jakarta/faces/component/behavior/AjaxBehavior.java b/api/src/main/java/jakarta/faces/component/behavior/AjaxBehavior.java
index 9dbef5b..64622b7 100644
--- a/api/src/main/java/jakarta/faces/component/behavior/AjaxBehavior.java
+++ b/api/src/main/java/jakarta/faces/component/behavior/AjaxBehavior.java
@@ -29,6 +29,7 @@ import jakarta.el.ValueExpression;
 import jakarta.faces.component.StateHelper;
 import jakarta.faces.context.FacesContext;
 import jakarta.faces.event.AjaxBehaviorListener;
+import org.apache.myfaces.core.api.shared.lang.Assert;
 
 /**
  * @since 2.0
@@ -133,12 +134,8 @@ public class AjaxBehavior extends ClientBehaviorBase
     @SuppressWarnings("unchecked")
     public ValueExpression getValueExpression(String name) 
     {
-        //return getValueExpressionMap().get(name);
-        if (name == null)
-        {
-            throw new NullPointerException("name can not be null");
-        }
-        
+        Assert.notNull(name, "name");
+
         Map<String,Object> bindings = (Map<String,Object>) getStateHelper().
             get(PropertyKeys.bindings);
         if (bindings != null)
@@ -153,10 +150,7 @@ public class AjaxBehavior extends ClientBehaviorBase
 
     public void setValueExpression(String name, ValueExpression expression) 
     {
-        if (name == null)
-        {
-            throw new NullPointerException("name");
-        }
+        Assert.notNull(name, "name");
 
         if (expression == null)
         {
diff --git a/api/src/main/java/jakarta/faces/component/behavior/BehaviorBase.java b/api/src/main/java/jakarta/faces/component/behavior/BehaviorBase.java
index 6889858..8a9d026 100644
--- a/api/src/main/java/jakarta/faces/component/behavior/BehaviorBase.java
+++ b/api/src/main/java/jakarta/faces/component/behavior/BehaviorBase.java
@@ -28,6 +28,7 @@ import jakarta.faces.context.FacesContext;
 import jakarta.faces.event.AbortProcessingException;
 import jakarta.faces.event.BehaviorEvent;
 import jakarta.faces.event.BehaviorListener;
+import org.apache.myfaces.core.api.shared.lang.Assert;
 
 /**
  * @since 2.0
@@ -50,10 +51,7 @@ public class BehaviorBase implements Behavior, PartialStateHolder
     @Override
     public void broadcast(BehaviorEvent event) throws AbortProcessingException
     {
-        if (event == null)
-        {
-            throw new NullPointerException("event");
-        }
+        Assert.notNull(event, "event");
         
         if (_behaviorListeners != null)
         {
@@ -197,10 +195,8 @@ public class BehaviorBase implements Behavior, PartialStateHolder
 
     private static Object restoreAttachedState(FacesContext context, Object stateObj) throws IllegalStateException
     {
-        if (context == null)
-        {
-            throw new NullPointerException("context");
-        }
+        Assert.notNull(context, "context");
+
         if (stateObj == null)
         {
             return null;
@@ -256,10 +252,7 @@ public class BehaviorBase implements Behavior, PartialStateHolder
     
     protected void addBehaviorListener(BehaviorListener listener)
     {
-        if (listener == null)
-        {
-            throw new NullPointerException("listener");
-        }
+        Assert.notNull(listener, "listener");
         
         if (_behaviorListeners == null)
         {
@@ -273,10 +266,7 @@ public class BehaviorBase implements Behavior, PartialStateHolder
     
     protected void removeBehaviorListener(BehaviorListener listener)
     {
-        if (listener == null)
-        {
-            throw new NullPointerException("listener");
-        }
+        Assert.notNull(listener, "listener");
 
         if (_behaviorListeners != null)
         {
diff --git a/api/src/main/java/jakarta/faces/component/behavior/ClientBehaviorBase.java b/api/src/main/java/jakarta/faces/component/behavior/ClientBehaviorBase.java
index 3d38f45..bd32c0d 100644
--- a/api/src/main/java/jakarta/faces/component/behavior/ClientBehaviorBase.java
+++ b/api/src/main/java/jakarta/faces/component/behavior/ClientBehaviorBase.java
@@ -24,6 +24,7 @@ import java.util.Set;
 import jakarta.faces.component.UIComponent;
 import jakarta.faces.context.FacesContext;
 import jakarta.faces.render.ClientBehaviorRenderer;
+import org.apache.myfaces.core.api.shared.lang.Assert;
 
 /**
  * @since 2.0
@@ -46,15 +47,8 @@ public class ClientBehaviorBase extends BehaviorBase implements ClientBehavior
     @Override
     public void decode(FacesContext context, UIComponent component)
     {
-        if (context == null)
-        {
-            throw new NullPointerException("context");
-        }
-        
-        if (component == null)
-        {
-            throw new NullPointerException("component");
-        }
+        Assert.notNull(context, "context");
+        Assert.notNull(component, "component");
         
         // If a BehaviorRenderer is available for the specified behavior renderer type, this method delegates 
         // to the BehaviorRenderer's decode() method. Otherwise, no decoding is performed. 
@@ -85,10 +79,7 @@ public class ClientBehaviorBase extends BehaviorBase implements ClientBehavior
     @Override
     public String getScript(ClientBehaviorContext behaviorContext)
     {
-        if (behaviorContext == null)
-        {
-            throw new NullPointerException("behaviorContext");
-        }
+        Assert.notNull(behaviorContext, "behaviorContext");
         
         ClientBehaviorRenderer renderer = getRenderer(behaviorContext.getFacesContext());
         if (renderer != null)
@@ -112,10 +103,7 @@ public class ClientBehaviorBase extends BehaviorBase implements ClientBehavior
     
     protected ClientBehaviorRenderer getRenderer(FacesContext context)
     {
-        if (context == null)
-        {
-            throw new NullPointerException("context");
-        }
+        Assert.notNull(context, "context");
         
         String rendererType = getRendererType();
         if (rendererType != null)
diff --git a/api/src/main/java/jakarta/faces/component/behavior/ClientBehaviorContext.java b/api/src/main/java/jakarta/faces/component/behavior/ClientBehaviorContext.java
index 2d75b82..e288832 100644
--- a/api/src/main/java/jakarta/faces/component/behavior/ClientBehaviorContext.java
+++ b/api/src/main/java/jakarta/faces/component/behavior/ClientBehaviorContext.java
@@ -22,6 +22,7 @@ import java.util.Collection;
 
 import jakarta.faces.component.UIComponent;
 import jakarta.faces.context.FacesContext;
+import org.apache.myfaces.core.api.shared.lang.Assert;
 
 /**
  * @since 2.0
@@ -45,18 +46,9 @@ public abstract class ClientBehaviorContext
                                                                     Collection<Parameter> parameters)
     {
         // This method is weird... Creating a dummy impl class seems stupid, yet I don't see any other way...
-        if(context == null)
-        {
-            throw new NullPointerException("context argument must not be null");
-        }
-        if(component == null)
-        {
-            throw new NullPointerException("component argument must not be null");
-        }
-        if(eventName == null)
-        {
-            throw new NullPointerException("eventName argument must not be null");
-        }
+        Assert.notNull(context, "context");
+        Assert.notNull(component, "component");
+        Assert.notNull(eventName, "eventName");
 
         return new ClientBehaviorContextImpl(context,component,eventName,sourceId, parameters);
     }
@@ -76,28 +68,24 @@ public abstract class ClientBehaviorContext
      */
     public static class Parameter
     {
-        private String _name;
-        private Object _value;
+        private String name;
+        private Object value;
 
         public Parameter(String name, Object value)
         {
-            if (name == null)
-            {
-                throw new NullPointerException("name");
-            }
-
-            _name = name;
-            _value = value;
+            Assert.notNull(name, "name");
+            this.name = name;
+            this.value = value;
         }
 
         public String getName()
         {
-            return _name;
+            return name;
         }
 
         public Object getValue()
         {
-            return _value;
+            return value;
         }
     }
     
diff --git a/api/src/main/java/jakarta/faces/component/behavior/_DeltaStateHelper.java b/api/src/main/java/jakarta/faces/component/behavior/_DeltaStateHelper.java
index 5ab0ea7..932c6f7 100644
--- a/api/src/main/java/jakarta/faces/component/behavior/_DeltaStateHelper.java
+++ b/api/src/main/java/jakarta/faces/component/behavior/_DeltaStateHelper.java
@@ -32,6 +32,7 @@ import jakarta.faces.component.StateHolder;
 import jakarta.faces.component.UIComponentBase;
 import jakarta.faces.context.FacesContext;
 import java.util.function.Supplier;
+import org.apache.myfaces.core.api.shared.lang.Assert;
 
 /**
  * A delta enabled state holder implementing the StateHolder Interface. 
@@ -831,10 +832,8 @@ class _DeltaStateHelper<A extends AjaxBehavior> implements StateHelper
 
     private static Object restoreAttachedState(FacesContext context, Object stateObj) throws IllegalStateException
     {
-        if (context == null)
-        {
-            throw new NullPointerException("context");
-        }
+        Assert.notNull(context, "context");
+
         if (stateObj == null)
         {
             return null;
diff --git a/api/src/main/java/jakarta/faces/context/FacesContext.java b/api/src/main/java/jakarta/faces/context/FacesContext.java
index 4ebb09a..65f2151 100755
--- a/api/src/main/java/jakarta/faces/context/FacesContext.java
+++ b/api/src/main/java/jakarta/faces/context/FacesContext.java
@@ -32,6 +32,7 @@ import jakarta.faces.component.UIViewRoot;
 import jakarta.faces.event.PhaseId;
 import jakarta.faces.lifecycle.Lifecycle;
 import jakarta.faces.render.RenderKit;
+import org.apache.myfaces.core.api.shared.lang.Assert;
 
 /**
  * see Javadoc of <a href="http://java.sun.com/javaee/javaserverfaces/1.2/docs/api/index.html">JSF Specification</a>
@@ -131,10 +132,7 @@ public abstract class FacesContext
         // object will provide a proper implementation of this method.
         FacesContext ctx = firstInstance.get();
 
-        if (ctx == null)
-        {
-            throw new NullPointerException(FacesContext.class.getName());
-        }
+        Assert.notNull(ctx, "ctx");
 
         ELContext elctx = ctx.getELContext();
         if (elctx == null)
@@ -400,10 +398,7 @@ public abstract class FacesContext
     
     public boolean isProjectStage(ProjectStage stage)
     {
-        if (stage == null)
-        {
-            throw new NullPointerException();
-        }
+        Assert.notNull(stage, "stage");
         
         if (stage.equals(getApplication().getProjectStage()))
         {
diff --git a/api/src/main/java/jakarta/faces/convert/BigDecimalConverter.java b/api/src/main/java/jakarta/faces/convert/BigDecimalConverter.java
index a73ca40..51a8fa9 100755
--- a/api/src/main/java/jakarta/faces/convert/BigDecimalConverter.java
+++ b/api/src/main/java/jakarta/faces/convert/BigDecimalConverter.java
@@ -25,6 +25,7 @@ import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFConvert
 
 import java.math.BigDecimal;
 import org.apache.myfaces.core.api.shared.MessageUtils;
+import org.apache.myfaces.core.api.shared.lang.Assert;
 
 /**
  * see Javadoc of <a href="http://java.sun.com/javaee/javaserverfaces/1.2/docs/api/index.html">JSF Specification</a>
@@ -47,10 +48,8 @@ public class BigDecimalConverter
     @Override
     public Object getAsObject(FacesContext facesContext, UIComponent uiComponent, String value)
     {
-        if (facesContext == null || uiComponent == null)
-        {
-            throw new NullPointerException(); // should never happen
-        }
+        Assert.notNull(facesContext, "facesContext");
+        Assert.notNull(uiComponent, "uiComponent");
 
         if (value == null)
         {
@@ -79,10 +78,8 @@ public class BigDecimalConverter
     @Override
     public String getAsString(FacesContext facesContext, UIComponent uiComponent, Object value)
     {
-        if (facesContext == null || uiComponent == null)
-        {
-            throw new NullPointerException(); // should never happen
-        }
+        Assert.notNull(facesContext, "facesContext");
+        Assert.notNull(uiComponent, "uiComponent");
 
         if (value == null)
         {
diff --git a/api/src/main/java/jakarta/faces/convert/BigIntegerConverter.java b/api/src/main/java/jakarta/faces/convert/BigIntegerConverter.java
index b48b5ad..ad791ad 100755
--- a/api/src/main/java/jakarta/faces/convert/BigIntegerConverter.java
+++ b/api/src/main/java/jakarta/faces/convert/BigIntegerConverter.java
@@ -25,6 +25,7 @@ import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFConvert
 
 import java.math.BigInteger;
 import org.apache.myfaces.core.api.shared.MessageUtils;
+import org.apache.myfaces.core.api.shared.lang.Assert;
 
 /**
  * see Javadoc of <a href="http://java.sun.com/javaee/javaserverfaces/1.2/docs/api/index.html">JSF Specification</a>
@@ -43,10 +44,8 @@ public class BigIntegerConverter implements Converter
     @Override
     public Object getAsObject(FacesContext facesContext, UIComponent uiComponent, String value)
     {
-        if (facesContext == null || uiComponent == null)
-        {
-            throw new NullPointerException(); // should never happen
-        }
+        Assert.notNull(facesContext, "facesContext");
+        Assert.notNull(uiComponent, "uiComponent");
 
         if (value == null)
         {
@@ -74,10 +73,8 @@ public class BigIntegerConverter implements Converter
     @Override
     public String getAsString(FacesContext facesContext, UIComponent uiComponent, Object value)
     {
-        if (facesContext == null || uiComponent == null)
-        {
-            throw new NullPointerException(); // should never happen
-        }
+        Assert.notNull(facesContext, "facesContext");
+        Assert.notNull(uiComponent, "uiComponent");
 
         if (value == null)
         {
diff --git a/api/src/main/java/jakarta/faces/convert/BooleanConverter.java b/api/src/main/java/jakarta/faces/convert/BooleanConverter.java
index 6a371ac..c58ee12 100755
--- a/api/src/main/java/jakarta/faces/convert/BooleanConverter.java
+++ b/api/src/main/java/jakarta/faces/convert/BooleanConverter.java
@@ -23,6 +23,7 @@ import jakarta.faces.context.FacesContext;
 
 import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFConverter;
 import org.apache.myfaces.core.api.shared.MessageUtils;
+import org.apache.myfaces.core.api.shared.lang.Assert;
 
 /**
  * see Javadoc of <a href="http://java.sun.com/javaee/javaserverfaces/1.2/docs/api/index.html">JSF Specification</a>
@@ -41,10 +42,8 @@ public class BooleanConverter implements Converter
     @Override
     public Object getAsObject(FacesContext facesContext, UIComponent uiComponent, String value)
     {
-        if (facesContext == null || uiComponent == null)
-        {
-            throw new NullPointerException(); // should never happen
-        }
+        Assert.notNull(facesContext, "facesContext");
+        Assert.notNull(uiComponent, "uiComponent");
 
         if (value == null)
         {
@@ -72,10 +71,8 @@ public class BooleanConverter implements Converter
     @Override
     public String getAsString(FacesContext facesContext, UIComponent uiComponent, Object value)
     {
-        if (facesContext == null || uiComponent == null)
-        {
-            throw new NullPointerException(); // should never happen
-        }
+        Assert.notNull(facesContext, "facesContext");
+        Assert.notNull(uiComponent, "uiComponent");
 
         if (value == null)
         {
diff --git a/api/src/main/java/jakarta/faces/convert/ByteConverter.java b/api/src/main/java/jakarta/faces/convert/ByteConverter.java
index 1b18782..eef8bf6 100755
--- a/api/src/main/java/jakarta/faces/convert/ByteConverter.java
+++ b/api/src/main/java/jakarta/faces/convert/ByteConverter.java
@@ -23,6 +23,7 @@ import jakarta.faces.context.FacesContext;
 
 import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFConverter;
 import org.apache.myfaces.core.api.shared.MessageUtils;
+import org.apache.myfaces.core.api.shared.lang.Assert;
 
 /**
  * see Javadoc of <a href="http://java.sun.com/javaee/javaserverfaces/1.2/docs/api/index.html">JSF Specification</a>
@@ -41,10 +42,8 @@ public class ByteConverter implements Converter
     @Override
     public Object getAsObject(FacesContext facesContext, UIComponent uiComponent, String value)
     {
-        if (facesContext == null || uiComponent == null)
-        {
-            throw new NullPointerException(); // should never happen
-        }
+        Assert.notNull(facesContext, "facesContext");
+        Assert.notNull(uiComponent, "uiComponent");
 
         if (value == null)
         {
@@ -72,10 +71,8 @@ public class ByteConverter implements Converter
     @Override
     public String getAsString(FacesContext facesContext, UIComponent uiComponent, Object value)
     {
-        if (facesContext == null || uiComponent == null)
-        {
-            throw new NullPointerException(); // should never happen
-        }
+        Assert.notNull(facesContext, "facesContext");
+        Assert.notNull(uiComponent, "uiComponent");
 
         if (value == null)
         {
diff --git a/api/src/main/java/jakarta/faces/convert/CharacterConverter.java b/api/src/main/java/jakarta/faces/convert/CharacterConverter.java
index 735556b..f68936c 100755
--- a/api/src/main/java/jakarta/faces/convert/CharacterConverter.java
+++ b/api/src/main/java/jakarta/faces/convert/CharacterConverter.java
@@ -23,6 +23,7 @@ import jakarta.faces.context.FacesContext;
 
 import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFConverter;
 import org.apache.myfaces.core.api.shared.MessageUtils;
+import org.apache.myfaces.core.api.shared.lang.Assert;
 
 /**
  * see Javadoc of <a href="http://java.sun.com/javaee/javaserverfaces/1.2/docs/api/index.html">JSF Specification</a>
@@ -41,10 +42,8 @@ public class CharacterConverter implements Converter
     @Override
     public Object getAsObject(FacesContext facesContext, UIComponent uiComponent, String value)
     {
-        if (facesContext == null || uiComponent == null)
-        {
-            throw new NullPointerException(); // should never happen
-        }
+        Assert.notNull(facesContext, "facesContext");
+        Assert.notNull(uiComponent, "uiComponent");
 
         if (value == null)
         {
@@ -72,10 +71,8 @@ public class CharacterConverter implements Converter
     @Override
     public String getAsString(FacesContext facesContext, UIComponent uiComponent, Object value)
     {
-        if (facesContext == null || uiComponent == null)
-        {
-            throw new NullPointerException(); // should never happen
-        }
+        Assert.notNull(facesContext, "facesContext");
+        Assert.notNull(uiComponent, "uiComponent");
 
         if (value == null)
         {
diff --git a/api/src/main/java/jakarta/faces/convert/DateTimeConverter.java b/api/src/main/java/jakarta/faces/convert/DateTimeConverter.java
index 6a7912f..3868693 100755
--- a/api/src/main/java/jakarta/faces/convert/DateTimeConverter.java
+++ b/api/src/main/java/jakarta/faces/convert/DateTimeConverter.java
@@ -43,6 +43,7 @@ import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFConvert
 import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFJspProperty;
 import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFProperty;
 import org.apache.myfaces.core.api.shared.MessageUtils;
+import org.apache.myfaces.core.api.shared.lang.Assert;
 
 /**
  * This tag associates a date time converter with the nearest parent UIComponent.
@@ -102,14 +103,8 @@ public class DateTimeConverter
     @Override
     public Object getAsObject(FacesContext facesContext, UIComponent uiComponent, String value)
     {
-        if (facesContext == null)
-        {
-            throw new NullPointerException("facesContext");
-        }
-        if (uiComponent == null)
-        {
-            throw new NullPointerException("uiComponent");
-        }
+        Assert.notNull(facesContext, "facesContext");
+        Assert.notNull(uiComponent, "uiComponent");
 
         if (value != null)
         {
@@ -216,14 +211,8 @@ public class DateTimeConverter
     @Override
     public String getAsString(FacesContext facesContext, UIComponent uiComponent, Object value)
     {
-        if (facesContext == null)
-        {
-            throw new NullPointerException("facesContext");
-        }
-        if (uiComponent == null)
-        {
-            throw new NullPointerException("uiComponent");
-        }
+        Assert.notNull(facesContext, "facesContext");
+        Assert.notNull(uiComponent, "uiComponent");
 
         if (value == null)
         {
diff --git a/api/src/main/java/jakarta/faces/convert/DoubleConverter.java b/api/src/main/java/jakarta/faces/convert/DoubleConverter.java
index be22e8d..1137401 100755
--- a/api/src/main/java/jakarta/faces/convert/DoubleConverter.java
+++ b/api/src/main/java/jakarta/faces/convert/DoubleConverter.java
@@ -26,6 +26,7 @@ import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFConvert
 import java.text.DecimalFormatSymbols;
 import java.util.Locale;
 import org.apache.myfaces.core.api.shared.MessageUtils;
+import org.apache.myfaces.core.api.shared.lang.Assert;
 
 /**
  * see Javadoc of <a href="http://java.sun.com/javaee/javaserverfaces/1.2/docs/api/index.html">JSF Specification</a>
@@ -44,10 +45,8 @@ public class DoubleConverter implements Converter
     @Override
     public Object getAsObject(FacesContext facesContext, UIComponent uiComponent, String value)
     {
-        if (facesContext == null || uiComponent == null)
-        {
-            throw new NullPointerException(); // should never happen
-        }
+        Assert.notNull(facesContext, "facesContext");
+        Assert.notNull(uiComponent, "uiComponent");
 
         if (value == null)
         {
@@ -129,10 +128,8 @@ public class DoubleConverter implements Converter
     @Override
     public String getAsString(FacesContext facesContext, UIComponent uiComponent, Object value)
     {
-        if (facesContext == null || uiComponent == null)
-        {
-            throw new NullPointerException(); // should never happen
-        }
+        Assert.notNull(facesContext, "facesContext");
+        Assert.notNull(uiComponent, "uiComponent");
 
         if (value == null)
         {
diff --git a/api/src/main/java/jakarta/faces/convert/EnumConverter.java b/api/src/main/java/jakarta/faces/convert/EnumConverter.java
index 2518088..81007a0 100644
--- a/api/src/main/java/jakarta/faces/convert/EnumConverter.java
+++ b/api/src/main/java/jakarta/faces/convert/EnumConverter.java
@@ -26,6 +26,7 @@ import jakarta.faces.context.FacesContext;
 import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFConverter;
 import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFWebConfigParam;
 import org.apache.myfaces.core.api.shared.MessageUtils;
+import org.apache.myfaces.core.api.shared.lang.Assert;
 
 /**
  * see Javadoc of <a href="http://java.sun.com/j2ee/javaserverfaces/1.2/docs/api/index.html">JSF Specification</a>
@@ -69,14 +70,8 @@ public class EnumConverter implements Converter, PartialStateHolder
     @Override
     public String getAsString(FacesContext facesContext, UIComponent uiComponent, Object value)
     {
-        if (facesContext == null)
-        {
-            throw new NullPointerException("facesContext can not be null");
-        }
-        if (uiComponent == null)
-        {
-            throw new NullPointerException("uiComponent can not be null");
-        }
+        Assert.notNull(facesContext, "facesContext");
+        Assert.notNull(uiComponent, "uiComponent");
 
         checkTargetClass(facesContext, uiComponent, value);
 
@@ -107,14 +102,9 @@ public class EnumConverter implements Converter, PartialStateHolder
     @Override
     public Object getAsObject(FacesContext facesContext, UIComponent uiComponent, String value)
     {
-        if (facesContext == null)
-        {
-            throw new NullPointerException("facesContext");
-        }
-        if (uiComponent == null)
-        {
-            throw new NullPointerException("uiComponent");
-        }
+        Assert.notNull(facesContext, "facesContext");
+        Assert.notNull(uiComponent, "uiComponent");
+        
         if (value == null)
         {
             return null;
diff --git a/api/src/main/java/jakarta/faces/convert/FloatConverter.java b/api/src/main/java/jakarta/faces/convert/FloatConverter.java
index af82bb8..3957b76 100755
--- a/api/src/main/java/jakarta/faces/convert/FloatConverter.java
+++ b/api/src/main/java/jakarta/faces/convert/FloatConverter.java
@@ -23,6 +23,7 @@ import jakarta.faces.context.FacesContext;
 
 import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFConverter;
 import org.apache.myfaces.core.api.shared.MessageUtils;
+import org.apache.myfaces.core.api.shared.lang.Assert;
 
 /**
  * see Javadoc of <a href="http://java.sun.com/javaee/javaserverfaces/1.2/docs/api/index.html">JSF Specification</a>
@@ -41,10 +42,8 @@ public class FloatConverter implements Converter
     @Override
     public Object getAsObject(FacesContext facesContext, UIComponent uiComponent, String value)
     {
-        if (facesContext == null || uiComponent == null)
-        {
-            throw new NullPointerException(); // should never happen
-        }
+        Assert.notNull(facesContext, "facesContext");
+        Assert.notNull(uiComponent, "uiComponent");
 
         if (value == null)
         {
@@ -72,10 +71,8 @@ public class FloatConverter implements Converter
     @Override
     public String getAsString(FacesContext facesContext, UIComponent uiComponent, Object value)
     {
-        if (facesContext == null || uiComponent == null)
-        {
-            throw new NullPointerException(); // should never happen
-        }
+        Assert.notNull(facesContext, "facesContext");
+        Assert.notNull(uiComponent, "uiComponent");
 
         if (value == null)
         {
diff --git a/api/src/main/java/jakarta/faces/convert/IntegerConverter.java b/api/src/main/java/jakarta/faces/convert/IntegerConverter.java
index 791dfe0..1b892c3 100755
--- a/api/src/main/java/jakarta/faces/convert/IntegerConverter.java
+++ b/api/src/main/java/jakarta/faces/convert/IntegerConverter.java
@@ -23,6 +23,7 @@ import jakarta.faces.context.FacesContext;
 
 import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFConverter;
 import org.apache.myfaces.core.api.shared.MessageUtils;
+import org.apache.myfaces.core.api.shared.lang.Assert;
 
 /**
  * see Javadoc of <a href="http://java.sun.com/javaee/javaserverfaces/1.2/docs/api/index.html">JSF Specification</a>
@@ -41,10 +42,8 @@ public class IntegerConverter implements Converter
     @Override
     public Object getAsObject(FacesContext facesContext, UIComponent uiComponent, String value)
     {
-        if (facesContext == null || uiComponent == null)
-        {
-            throw new NullPointerException(); // should never happen
-        }
+        Assert.notNull(facesContext, "facesContext");
+        Assert.notNull(uiComponent, "uiComponent");
 
         if (value == null)
         {
@@ -72,10 +71,8 @@ public class IntegerConverter implements Converter
     @Override
     public String getAsString(FacesContext facesContext, UIComponent uiComponent, Object value)
     {
-        if (facesContext == null || uiComponent == null)
-        {
-            throw new NullPointerException(); // should never happen
-        }
+        Assert.notNull(facesContext, "facesContext");
+        Assert.notNull(uiComponent, "uiComponent");
 
         if (value == null)
         {
diff --git a/api/src/main/java/jakarta/faces/convert/LongConverter.java b/api/src/main/java/jakarta/faces/convert/LongConverter.java
index ac5b2ac..c805836 100755
--- a/api/src/main/java/jakarta/faces/convert/LongConverter.java
+++ b/api/src/main/java/jakarta/faces/convert/LongConverter.java
@@ -23,6 +23,7 @@ import jakarta.faces.context.FacesContext;
 
 import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFConverter;
 import org.apache.myfaces.core.api.shared.MessageUtils;
+import org.apache.myfaces.core.api.shared.lang.Assert;
 
 /**
  * see Javadoc of <a href="http://java.sun.com/javaee/javaserverfaces/1.2/docs/api/index.html">JSF Specification</a>
@@ -41,10 +42,8 @@ public class LongConverter implements Converter
     @Override
     public Object getAsObject(FacesContext facesContext, UIComponent uiComponent, String value)
     {
-        if (facesContext == null || uiComponent == null)
-        {
-            throw new NullPointerException(); // should never happen
-        }
+        Assert.notNull(facesContext, "facesContext");
+        Assert.notNull(uiComponent, "uiComponent");
 
         if (value == null)
         {
@@ -72,10 +71,8 @@ public class LongConverter implements Converter
     @Override
     public String getAsString(FacesContext facesContext, UIComponent uiComponent, Object value)
     {
-        if (facesContext == null || uiComponent == null)
-        {
-            throw new NullPointerException(); // should never happen
-        }
+        Assert.notNull(facesContext, "facesContext");
+        Assert.notNull(uiComponent, "uiComponent");
 
         if (value == null)
         {
diff --git a/api/src/main/java/jakarta/faces/convert/NumberConverter.java b/api/src/main/java/jakarta/faces/convert/NumberConverter.java
index f70caaf..71775ad 100755
--- a/api/src/main/java/jakarta/faces/convert/NumberConverter.java
+++ b/api/src/main/java/jakarta/faces/convert/NumberConverter.java
@@ -38,6 +38,7 @@ import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFConvert
 import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFJspProperty;
 import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFProperty;
 import org.apache.myfaces.core.api.shared.MessageUtils;
+import org.apache.myfaces.core.api.shared.lang.Assert;
 
 /**
  * This tag creates a number formatting converter and associates it
@@ -86,10 +87,8 @@ public class NumberConverter implements Converter, PartialStateHolder
     @Override
     public Object getAsObject(FacesContext facesContext, UIComponent uiComponent, String value)
     {
-        if (facesContext == null || uiComponent == null)
-        {
-            throw new NullPointerException(); // should never happen
-        }
+        Assert.notNull(facesContext, "facesContext");
+        Assert.notNull(uiComponent, "uiComponent");
 
         if (value == null)
         {
@@ -212,10 +211,8 @@ public class NumberConverter implements Converter, PartialStateHolder
     @Override
     public String getAsString(FacesContext facesContext, UIComponent uiComponent, Object value)
     {
-        if (facesContext == null || uiComponent == null)
-        {
-            throw new NullPointerException(); // should never happen
-        }
+        Assert.notNull(facesContext, "facesContext");
+        Assert.notNull(uiComponent, "uiComponent");
 
         if (value == null)
         {
diff --git a/api/src/main/java/jakarta/faces/convert/ShortConverter.java b/api/src/main/java/jakarta/faces/convert/ShortConverter.java
index 02ac5d7..3f15e70 100755
--- a/api/src/main/java/jakarta/faces/convert/ShortConverter.java
+++ b/api/src/main/java/jakarta/faces/convert/ShortConverter.java
@@ -23,6 +23,7 @@ import jakarta.faces.context.FacesContext;
 
 import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFConverter;
 import org.apache.myfaces.core.api.shared.MessageUtils;
+import org.apache.myfaces.core.api.shared.lang.Assert;
 
 /**
  * see Javadoc of <a href="http://java.sun.com/javaee/javaserverfaces/1.2/docs/api/index.html">JSF Specification</a>
@@ -41,10 +42,8 @@ public class ShortConverter implements Converter
     @Override
     public Object getAsObject(FacesContext facesContext, UIComponent uiComponent, String value)
     {
-        if (facesContext == null || uiComponent == null)
-        {
-            throw new NullPointerException(); // should never happen
-        }
+        Assert.notNull(facesContext, "facesContext");
+        Assert.notNull(uiComponent, "uiComponent");
 
         if (value == null)
         {
@@ -72,10 +71,8 @@ public class ShortConverter implements Converter
     @Override
     public String getAsString(FacesContext facesContext, UIComponent uiComponent, Object value)
     {
-        if (facesContext == null || uiComponent == null)
-        {
-            throw new NullPointerException(); // should never happen
-        }
+        Assert.notNull(facesContext, "facesContext");
+        Assert.notNull(uiComponent, "uiComponent");
 
         if (value == null)
         {
diff --git a/api/src/main/java/jakarta/faces/event/PhaseEvent.java b/api/src/main/java/jakarta/faces/event/PhaseEvent.java
index 0837fe6..ce1a847 100755
--- a/api/src/main/java/jakarta/faces/event/PhaseEvent.java
+++ b/api/src/main/java/jakarta/faces/event/PhaseEvent.java
@@ -21,6 +21,7 @@ package jakarta.faces.event;
 import jakarta.faces.context.FacesContext;
 import jakarta.faces.lifecycle.Lifecycle;
 import java.util.EventObject;
+import org.apache.myfaces.core.api.shared.lang.Assert;
 
 /**
  * see Javadoc of <a href="http://java.sun.com/javaee/javaserverfaces/1.2/docs/api/index.html">JSF Specification</a>
@@ -36,18 +37,9 @@ public class PhaseEvent extends EventObject
     public PhaseEvent(FacesContext facesContext, PhaseId phaseId, Lifecycle lifecycle)
     {
         super(lifecycle);
-        if (facesContext == null)
-        {
-            throw new NullPointerException("facesContext");
-        }
-        if (phaseId == null)
-        {
-            throw new NullPointerException("phaseId");
-        }
-        if (lifecycle == null)
-        {
-            throw new NullPointerException("lifecycle");
-        }
+        Assert.notNull(facesContext, "facesContext");
+        Assert.notNull(phaseId, "phaseId");
+        Assert.notNull(lifecycle, "lifecycle");
 
         _facesContext = facesContext;
         _phaseId = phaseId;
diff --git a/api/src/main/java/jakarta/faces/event/PhaseId.java b/api/src/main/java/jakarta/faces/event/PhaseId.java
index d053fee..70aafb9 100755
--- a/api/src/main/java/jakarta/faces/event/PhaseId.java
+++ b/api/src/main/java/jakarta/faces/event/PhaseId.java
@@ -22,6 +22,7 @@ import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
 import jakarta.faces.FacesException;
+import org.apache.myfaces.core.api.shared.lang.Assert;
 
 /**
  * see Javadoc of <a href="http://java.sun.com/javaee/javaserverfaces/1.2/docs/api/index.html">JSF Specification</a>
@@ -97,10 +98,8 @@ public class PhaseId implements Comparable
 
     public static PhaseId phaseIdValueOf(String phase)
     {
-        if (phase == null)
-        {
-            throw new NullPointerException("phase");
-        }
+        Assert.notNull(phase, "phase");
+        
         for (int i = 0; i < VALUES.size(); i++)
         {
             PhaseId phaseId = VALUES.get(i);
diff --git a/api/src/main/java/jakarta/faces/model/ArrayDataModel.java b/api/src/main/java/jakarta/faces/model/ArrayDataModel.java
index c00b2f1..0c17e8d 100755
--- a/api/src/main/java/jakarta/faces/model/ArrayDataModel.java
+++ b/api/src/main/java/jakarta/faces/model/ArrayDataModel.java
@@ -18,6 +18,8 @@
  */
 package jakarta.faces.model;
 
+import org.apache.myfaces.core.api.shared.lang.Assert;
+
 /**
  * see Javadoc of <a href="http://java.sun.com/javaee/javaserverfaces/1.2/docs/api/index.html">JSF Specification</a>
  */
@@ -35,10 +37,7 @@ public class ArrayDataModel<E> extends DataModel<E>
 
     public ArrayDataModel(E[] array)
     {
-        if (array == null)
-        {
-            throw new NullPointerException("array");
-        }
+        Assert.notNull(array, "array");
         setWrappedData(array);
     }
 
diff --git a/api/src/main/java/jakarta/faces/model/CollectionDataModel.java b/api/src/main/java/jakarta/faces/model/CollectionDataModel.java
index b1ebf19..73c505b 100644
--- a/api/src/main/java/jakarta/faces/model/CollectionDataModel.java
+++ b/api/src/main/java/jakarta/faces/model/CollectionDataModel.java
@@ -19,6 +19,7 @@
 package jakarta.faces.model;
 
 import java.util.Collection;
+import org.apache.myfaces.core.api.shared.lang.Assert;
 
 public class CollectionDataModel<E> extends DataModel<E>
 {
@@ -36,10 +37,7 @@ public class CollectionDataModel<E> extends DataModel<E>
 
     public CollectionDataModel(Collection<E> collection)
     {
-        if (collection == null)
-        {
-            throw new NullPointerException("collection");
-        }
+        Assert.notNull(collection, "collection");
         setWrappedData(collection);
     }
 
diff --git a/api/src/main/java/jakarta/faces/model/DataModel.java b/api/src/main/java/jakarta/faces/model/DataModel.java
index 4ffe973..6fead60 100644
--- a/api/src/main/java/jakarta/faces/model/DataModel.java
+++ b/api/src/main/java/jakarta/faces/model/DataModel.java
@@ -22,6 +22,7 @@ import java.util.ArrayList;
 import java.util.Iterator;
 import java.util.List;
 import java.util.NoSuchElementException;
+import org.apache.myfaces.core.api.shared.lang.Assert;
 
 /**
   * Represents the data presented by a UIData component, together with
@@ -56,10 +57,8 @@ public abstract class DataModel<E> implements Iterable<E>
 
     public void addDataModelListener(DataModelListener listener)
     {
-        if (listener == null)
-        {
-            throw new NullPointerException("listener");
-        }
+        Assert.notNull(listener, "listener");
+        
         if (_listeners == null)
         {
             _listeners = new ArrayList<>();
@@ -144,10 +143,8 @@ public abstract class DataModel<E> implements Iterable<E>
 
     public void removeDataModelListener(DataModelListener listener)
     {
-        if (listener == null)
-        {
-            throw new NullPointerException("listener");
-        }
+        Assert.notNull(listener, "listener");
+
         if (_listeners != null)
         {
             _listeners.remove(listener);
diff --git a/api/src/main/java/jakarta/faces/model/IterableDataModel.java b/api/src/main/java/jakarta/faces/model/IterableDataModel.java
index 404f9e3..fb130c4 100644
--- a/api/src/main/java/jakarta/faces/model/IterableDataModel.java
+++ b/api/src/main/java/jakarta/faces/model/IterableDataModel.java
@@ -24,6 +24,7 @@ import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
+import org.apache.myfaces.core.api.shared.lang.Assert;
 
 /**
  *
@@ -43,10 +44,7 @@ public class IterableDataModel<E> extends DataModel<E>
 
     public IterableDataModel(Iterable<E> iterable)
     {
-        if (iterable == null)
-        {
-            throw new NullPointerException("array");
-        }
+        Assert.notNull(iterable, "iterable");
         setWrappedData(iterable);
     }
 
diff --git a/api/src/main/java/jakarta/faces/model/ListDataModel.java b/api/src/main/java/jakarta/faces/model/ListDataModel.java
index 9008726..0ac5d55 100755
--- a/api/src/main/java/jakarta/faces/model/ListDataModel.java
+++ b/api/src/main/java/jakarta/faces/model/ListDataModel.java
@@ -19,6 +19,7 @@
 package jakarta.faces.model;
 
 import java.util.List;
+import org.apache.myfaces.core.api.shared.lang.Assert;
 
 /**
  * see Javadoc of <a href="http://java.sun.com/javaee/javaserverfaces/1.2/docs/api/index.html">JSF Specification</a>
@@ -38,10 +39,7 @@ public class ListDataModel<E> extends DataModel<E>
 
     public ListDataModel(List<E> list)
     {
-        if (list == null)
-        {
-            throw new NullPointerException("list");
-        }
+        Assert.notNull(list, "list");
         setWrappedData(list);
     }
 
diff --git a/api/src/main/java/jakarta/faces/model/ResultSetDataModel.java b/api/src/main/java/jakarta/faces/model/ResultSetDataModel.java
index 4e844de..b8c6cb8 100755
--- a/api/src/main/java/jakarta/faces/model/ResultSetDataModel.java
+++ b/api/src/main/java/jakarta/faces/model/ResultSetDataModel.java
@@ -30,6 +30,7 @@ import java.util.Iterator;
 import java.util.Map;
 import java.util.Set;
 import java.util.TreeMap;
+import org.apache.myfaces.core.api.shared.lang.Assert;
 
 /**
  * see Javadoc of <a href="http://java.sun.com/javaee/javaserverfaces/1.2/docs/api/index.html">JSF Specification</a>
@@ -413,10 +414,7 @@ public class ResultSetDataModel extends DataModel<Map<String,Object>>
         @Override
         public boolean contains(Object o)
         {
-            if (o == null)
-            {
-                throw new NullPointerException();
-            }
+            Assert.notNull(o, "o");
             if (!(o instanceof Map.Entry))
             {
                 return false;
diff --git a/api/src/main/java/jakarta/faces/model/SelectItem.java b/api/src/main/java/jakarta/faces/model/SelectItem.java
index 6ad2356..8d4e7e3 100755
--- a/api/src/main/java/jakarta/faces/model/SelectItem.java
+++ b/api/src/main/java/jakarta/faces/model/SelectItem.java
@@ -19,6 +19,7 @@
 package jakarta.faces.model;
 
 import java.io.Serializable;
+import org.apache.myfaces.core.api.shared.lang.Assert;
 
 /**
  * see Javadoc of <a href="http://java.sun.com/javaee/javaserverfaces/1.2/docs/api/index.html">JSF Specification</a>
@@ -141,10 +142,7 @@ public class SelectItem implements Serializable
 
     public void setLabel(String label)
     {
-        if (label == null)
-        {
-            throw new NullPointerException("label");
-        }
+        Assert.notNull(label, "label");
         _label = label;
     }
 
diff --git a/api/src/main/java/jakarta/faces/model/SelectItemGroup.java b/api/src/main/java/jakarta/faces/model/SelectItemGroup.java
index 5be9a53..19489eb 100755
--- a/api/src/main/java/jakarta/faces/model/SelectItemGroup.java
+++ b/api/src/main/java/jakarta/faces/model/SelectItemGroup.java
@@ -19,6 +19,7 @@
 package jakarta.faces.model;
 
 import java.util.Collection;
+import org.apache.myfaces.core.api.shared.lang.Assert;
 
 /**
  * see Javadoc of <a href="http://java.sun.com/javaee/javaserverfaces/1.2/docs/api/index.html">JSF Specification</a>
@@ -48,10 +49,7 @@ public class SelectItemGroup extends SelectItem
     public SelectItemGroup(String label, String description, boolean disabled, SelectItem... selectItems)
     {
         super("", label, description, disabled);
-        if (selectItems == null)
-        {
-            throw new NullPointerException("selectItems");
-        }
+        Assert.notNull(selectItems, "selectItems");
         _selectItems = selectItems;
     }
     
@@ -59,10 +57,7 @@ public class SelectItemGroup extends SelectItem
             Collection<? extends SelectItem> selectItems)
     {
         super("", label, description, disabled);
-        if (selectItems == null)
-        {
-            throw new NullPointerException("selectItems");
-        }
+        Assert.notNull(selectItems, "selectItems");
         _selectItems = selectItems.toArray(new SelectItem[selectItems.size()]);
     }
 
@@ -75,10 +70,7 @@ public class SelectItemGroup extends SelectItem
 
     public void setSelectItems(SelectItem... selectItems)
     {
-        if (selectItems == null)
-        {
-            throw new NullPointerException("selectItems");
-        }
+        Assert.notNull(selectItems, "selectItems");
         _selectItems = selectItems;
     }
     
@@ -89,10 +81,7 @@ public class SelectItemGroup extends SelectItem
      */
     public void setSelectItems(Collection<? extends SelectItem> selectItems)
     {
-        if (selectItems == null)
-        {
-            throw new NullPointerException("selectItems");
-        }
+        Assert.notNull(selectItems, "selectItems");
         setSelectItems(selectItems.toArray(new SelectItem[selectItems.size()]));
     }
 }
diff --git a/api/src/main/java/jakarta/faces/render/ClientBehaviorRenderer.java b/api/src/main/java/jakarta/faces/render/ClientBehaviorRenderer.java
index d89c2d5..2aad43d 100644
--- a/api/src/main/java/jakarta/faces/render/ClientBehaviorRenderer.java
+++ b/api/src/main/java/jakarta/faces/render/ClientBehaviorRenderer.java
@@ -22,6 +22,7 @@ import jakarta.faces.component.UIComponent;
 import jakarta.faces.component.behavior.ClientBehavior;
 import jakarta.faces.component.behavior.ClientBehaviorContext;
 import jakarta.faces.context.FacesContext;
+import org.apache.myfaces.core.api.shared.lang.Assert;
 
 /**
  * @since 2.0
@@ -32,18 +33,9 @@ public abstract class ClientBehaviorRenderer
     {
         //default impl won't do anything...implementing classes will do the actual decoding.  
         //just check for null args
-        if(context == null)
-        {
-            throw new NullPointerException("context argument must not be null");
-        }
-        if(component == null)
-        {
-            throw new NullPointerException("component argument must not be null");
-        }
-        if(behavior == null)
-        {
-            throw new NullPointerException("behavior argument must not be null");
-        }
+        Assert.notNull(context, "context");
+        Assert.notNull(component, "component");
+        Assert.notNull(behavior, "behavior");
     }
 
     public String getScript(ClientBehaviorContext behaviorContext, ClientBehavior behavior)
diff --git a/api/src/main/java/jakarta/faces/render/RenderKit.java b/api/src/main/java/jakarta/faces/render/RenderKit.java
index 048066a..7c75a10 100755
--- a/api/src/main/java/jakarta/faces/render/RenderKit.java
+++ b/api/src/main/java/jakarta/faces/render/RenderKit.java
@@ -27,6 +27,7 @@ import java.util.List;
 
 import jakarta.faces.context.ResponseStream;
 import jakarta.faces.context.ResponseWriter;
+import org.apache.myfaces.core.api.shared.lang.Assert;
 
 /**
  * see Javadoc of <a href="http://java.sun.com/javaee/javaserverfaces/1.2/docs/api/index.html">JSF Specification</a>
@@ -42,16 +43,9 @@ public abstract class RenderKit
     
     public void addClientBehaviorRenderer(String type, ClientBehaviorRenderer renderer)
     {
-        if (type == null)
-        {
-            throw new NullPointerException("type is null");
-        }
-        
-        if (renderer == null)
-        {
-            throw new NullPointerException("renderer is null");
-        }
-        
+        Assert.notNull(type, "type");
+        Assert.notNull(renderer, "renderer");
+
         this.clientBehaviorRenderers.put(type, renderer);
     }
 
@@ -64,10 +58,7 @@ public abstract class RenderKit
     
     public ClientBehaviorRenderer getClientBehaviorRenderer(String type)
     {
-        if (type == null)
-        {
-            throw new NullPointerException("type is null");
-        }
+        Assert.notNull(type, "type");
         
         return this.clientBehaviorRenderers.get(type);
     }
diff --git a/api/src/main/java/jakarta/faces/render/Renderer.java b/api/src/main/java/jakarta/faces/render/Renderer.java
index c33c7eb..6d3628f 100755
--- a/api/src/main/java/jakarta/faces/render/Renderer.java
+++ b/api/src/main/java/jakarta/faces/render/Renderer.java
@@ -23,6 +23,7 @@ import java.io.IOException;
 import jakarta.faces.component.UIComponent;
 import jakarta.faces.context.FacesContext;
 import jakarta.faces.convert.ConverterException;
+import org.apache.myfaces.core.api.shared.lang.Assert;
 
 /**
  * see Javadoc of <a href="http://java.sun.com/javaee/javaserverfaces/1.2/docs/api/index.html">JSF Specification</a>
@@ -36,14 +37,8 @@ public abstract class Renderer<T extends UIComponent>
     
     public void decode(FacesContext context, T component)
     {
-        if (context == null)
-        {
-            throw new NullPointerException("context");
-        }
-        if (component == null)
-        {
-            throw new NullPointerException("component");
-        }
+        Assert.notNull(context, "context");
+        Assert.notNull(component, "component");
     }
 
     /**
@@ -51,14 +46,8 @@ public abstract class Renderer<T extends UIComponent>
      */
     public void encodeBegin(FacesContext context, T component) throws IOException
     {
-        if (context == null)
-        {
-            throw new NullPointerException("context");
-        }
-        if (component == null)
-        {
-            throw new NullPointerException("component");
-        }
+        Assert.notNull(context, "context");
+        Assert.notNull(component, "component");
     }
 
     /**
@@ -73,14 +62,8 @@ public abstract class Renderer<T extends UIComponent>
      */
     public void encodeChildren(FacesContext context, T component) throws IOException
     {
-        if (context == null)
-        {
-            throw new NullPointerException("context");
-        }
-        if (component == null)
-        {
-            throw new NullPointerException("component");
-        }
+        Assert.notNull(context, "context");
+        Assert.notNull(component, "component");
 
         if (component.getChildCount() > 0)
         {
@@ -102,26 +85,14 @@ public abstract class Renderer<T extends UIComponent>
      */
     public void encodeEnd(FacesContext context, T component) throws IOException
     {
-        if (context == null)
-        {
-            throw new NullPointerException("context");
-        }
-        if (component == null)
-        {
-            throw new NullPointerException("component");
-        }
+        Assert.notNull(context, "context");
+        Assert.notNull(component, "component");
     }
 
     public String convertClientId(FacesContext context, String clientId)
     {
-        if (context == null)
-        {
-            throw new NullPointerException("context");
-        }
-        if (clientId == null)
-        {
-            throw new NullPointerException("clientId");
-        }
+        Assert.notNull(context, "context");
+        Assert.notNull(clientId, "clientId");
         return clientId;
     }
 
@@ -144,14 +115,8 @@ public abstract class Renderer<T extends UIComponent>
     public Object getConvertedValue(FacesContext context, T component, Object submittedValue)
             throws ConverterException
     {
-        if (context == null)
-        {
-            throw new NullPointerException("context");
-        }
-        if (component == null)
-        {
-            throw new NullPointerException("component");
-        }
+        Assert.notNull(context, "context");
+        Assert.notNull(component, "component");
         return submittedValue;
     }
 
diff --git a/api/src/main/java/jakarta/faces/validator/BeanValidator.java b/api/src/main/java/jakarta/faces/validator/BeanValidator.java
index 0e94a94..a146a7f 100644
--- a/api/src/main/java/jakarta/faces/validator/BeanValidator.java
+++ b/api/src/main/java/jakarta/faces/validator/BeanValidator.java
@@ -47,6 +47,7 @@ import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFValidat
 import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFWebConfigParam;
 import org.apache.myfaces.core.api.shared.FacesMessageInterpolator;
 import org.apache.myfaces.core.api.shared.ValueReferenceResolver;
+import org.apache.myfaces.core.api.shared.lang.Assert;
 import org.apache.myfaces.core.api.shared.lang.ClassUtils;
 
 /**
@@ -137,14 +138,8 @@ public class BeanValidator implements Validator, PartialStateHolder
     @Override
     public void validate(final FacesContext context, final UIComponent component, final Object value)
     {
-        if (context == null)
-        {
-            throw new NullPointerException("context");
-        }
-        if (component == null)
-        {
-            throw new NullPointerException("component");
-        }
+        Assert.notNull(context, "context");
+        Assert.notNull(component, "component");
 
         ValueExpression valueExpression = component.getValueExpression("value");
         if (valueExpression == null)
@@ -374,10 +369,7 @@ public class BeanValidator implements Validator, PartialStateHolder
     @Override
     public Object saveState(final FacesContext context)
     {
-        if (context == null)
-        {
-            throw new NullPointerException("context");
-        }
+        Assert.notNull(context, "context");
 
         if (!initialStateMarked())
         {
@@ -402,10 +394,7 @@ public class BeanValidator implements Validator, PartialStateHolder
     @Override
     public void restoreState(final FacesContext context, final Object state)
     {
-        if (context == null)
-        {
-            throw new NullPointerException("context");
-        }
+        Assert.notNull(context, "context");
 
         if (state != null)
         {
diff --git a/api/src/main/java/jakarta/faces/validator/DoubleRangeValidator.java b/api/src/main/java/jakarta/faces/validator/DoubleRangeValidator.java
index b8e6544..62edcdc 100755
--- a/api/src/main/java/jakarta/faces/validator/DoubleRangeValidator.java
+++ b/api/src/main/java/jakarta/faces/validator/DoubleRangeValidator.java
@@ -26,6 +26,7 @@ import jakarta.faces.context.FacesContext;
 import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFJspProperty;
 import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFProperty;
 import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFValidator;
+import org.apache.myfaces.core.api.shared.lang.Assert;
 
 /**
  * Creates a validator and associateds it with the nearest parent
@@ -79,14 +80,8 @@ public class DoubleRangeValidator
     public void validate(FacesContext facesContext, UIComponent uiComponent, Object value)
             throws ValidatorException
     {
-        if (facesContext == null)
-        {
-            throw new NullPointerException("facesContext");
-        }
-        if (uiComponent == null)
-        {
-            throw new NullPointerException("uiComponent");
-        }
+        Assert.notNull(facesContext, "facesContext");
+        Assert.notNull(uiComponent, "uiComponent");
 
         if (value == null)
         {
@@ -180,10 +175,7 @@ public class DoubleRangeValidator
     @Override
     public Object saveState(FacesContext context)
     {
-        if (context == null)
-        {
-            throw new NullPointerException("context");
-        }
+        Assert.notNull(context, "context");
 
         if (!initialStateMarked())
         {
@@ -198,10 +190,7 @@ public class DoubleRangeValidator
     @Override
     public void restoreState(FacesContext context, Object state)
     {
-        if (context == null)
-        {
-            throw new NullPointerException("context");
-        }
+        Assert.notNull(context, "context");
         
         if (state != null)
         {
diff --git a/api/src/main/java/jakarta/faces/validator/LengthValidator.java b/api/src/main/java/jakarta/faces/validator/LengthValidator.java
index 5dc0189..650e0de 100755
--- a/api/src/main/java/jakarta/faces/validator/LengthValidator.java
+++ b/api/src/main/java/jakarta/faces/validator/LengthValidator.java
@@ -26,6 +26,7 @@ import jakarta.faces.context.FacesContext;
 import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFJspProperty;
 import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFProperty;
 import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFValidator;
+import org.apache.myfaces.core.api.shared.lang.Assert;
 
 /**
  * Creates a validator and associateds it with the nearest parent
@@ -78,14 +79,8 @@ public class LengthValidator
     public void validate(FacesContext facesContext, UIComponent uiComponent, Object value)
             throws ValidatorException
     {
-        if (facesContext == null)
-        {
-            throw new NullPointerException("facesContext");
-        }
-        if (uiComponent == null)
-        {
-            throw new NullPointerException("uiComponent");
-        }
+        Assert.notNull(facesContext, "facesContext");
+        Assert.notNull(uiComponent, "uiComponent");
 
         if (value == null)
         {
@@ -164,10 +159,7 @@ public class LengthValidator
     @Override
     public Object saveState(FacesContext context)
     {
-        if (context == null)
-        {
-            throw new NullPointerException("context");
-        }
+        Assert.notNull(context, "context");
 
         if (!initialStateMarked())
         {
@@ -183,14 +175,11 @@ public class LengthValidator
     public void restoreState(FacesContext context,
                              Object state)
     {
-        if (context == null)
-        {
-            throw new NullPointerException("context");
-        }
+        Assert.notNull(context, "context");
 
         if (state != null)
         {
-            Object values[] = (Object[])state;
+            Object values[] = (Object[]) state;
             _maximum = (Integer)values[0];
             _minimum = (Integer)values[1];
         }
diff --git a/api/src/main/java/jakarta/faces/validator/LongRangeValidator.java b/api/src/main/java/jakarta/faces/validator/LongRangeValidator.java
index 48d38eb..8669b23 100755
--- a/api/src/main/java/jakarta/faces/validator/LongRangeValidator.java
+++ b/api/src/main/java/jakarta/faces/validator/LongRangeValidator.java
@@ -26,6 +26,7 @@ import jakarta.faces.context.FacesContext;
 import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFJspProperty;
 import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFProperty;
 import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFValidator;
+import org.apache.myfaces.core.api.shared.lang.Assert;
 
 /**
  * Creates a validator and associateds it with the nearest parent
@@ -80,14 +81,8 @@ public class LongRangeValidator
     public void validate(FacesContext facesContext, UIComponent uiComponent, Object value)
             throws ValidatorException
     {
-        if (facesContext == null)
-        {
-            throw new NullPointerException("facesContext");
-        }
-        if (uiComponent == null)
-        {
-            throw new NullPointerException("uiComponent");
-        }
+        Assert.notNull(facesContext, "facesContext");
+        Assert.notNull(uiComponent, "uiComponent");
 
         if (value == null)
         {
@@ -193,10 +188,7 @@ public class LongRangeValidator
     @Override
     public Object saveState(FacesContext context)
     {
-        if (context == null)
-        {
-            throw new NullPointerException("context");
-        }
+        Assert.notNull(context, "context");
 
         if (!initialStateMarked())
         {
@@ -211,10 +203,7 @@ public class LongRangeValidator
     @Override
     public void restoreState(FacesContext context, Object state)
     {
-        if (context == null)
-        {
-            throw new NullPointerException("context");
-        }
+        Assert.notNull(context, "context");
 
         if (state != null)
         {
diff --git a/api/src/main/java/jakarta/faces/validator/MethodExpressionValidator.java b/api/src/main/java/jakarta/faces/validator/MethodExpressionValidator.java
index e5732da..d1284f4 100644
--- a/api/src/main/java/jakarta/faces/validator/MethodExpressionValidator.java
+++ b/api/src/main/java/jakarta/faces/validator/MethodExpressionValidator.java
@@ -24,6 +24,7 @@ import jakarta.el.MethodExpression;
 import jakarta.faces.component.StateHolder;
 import jakarta.faces.component.UIComponent;
 import jakarta.faces.context.FacesContext;
+import org.apache.myfaces.core.api.shared.lang.Assert;
 
 /**
  * see Javadoc of <a href="http://java.sun.com/j2ee/javaserverfaces/1.2/docs/api/index.html">JSF Specification</a>
@@ -42,11 +43,7 @@ public class MethodExpressionValidator implements Validator, StateHolder
 
     public MethodExpressionValidator(MethodExpression methodExpression)
     {
-        if (methodExpression == null)
-        {
-            throw new NullPointerException("methodExpression can not be null.");
-        }
-
+        Assert.notNull(methodExpression, "methodExpression");
         this.methodExpression = methodExpression;
     }
 
@@ -93,10 +90,7 @@ public class MethodExpressionValidator implements Validator, StateHolder
     @Override
     public void restoreState(FacesContext context, Object state)
     {
-        if (context == null)
-        {
-            throw new NullPointerException("context");
-        }
+        Assert.notNull(context, "context");
 
         methodExpression = (MethodExpression)state;
     }
@@ -104,10 +98,7 @@ public class MethodExpressionValidator implements Validator, StateHolder
     @Override
     public Object saveState(FacesContext context)
     {
-        if (context == null)
-        {
-            throw new NullPointerException("context");
-        }
+        Assert.notNull(context, "context");
 
         return methodExpression;
     }
diff --git a/api/src/main/java/jakarta/faces/validator/RegexValidator.java b/api/src/main/java/jakarta/faces/validator/RegexValidator.java
index 97dceee..3c03200 100644
--- a/api/src/main/java/jakarta/faces/validator/RegexValidator.java
+++ b/api/src/main/java/jakarta/faces/validator/RegexValidator.java
@@ -28,6 +28,7 @@ import jakarta.faces.component.UIComponent;
 import jakarta.faces.context.FacesContext;
 import java.util.regex.Pattern;
 import java.util.regex.PatternSyntaxException;
+import org.apache.myfaces.core.api.shared.lang.Assert;
 
 /**
  * <p>
@@ -113,14 +114,8 @@ public class RegexValidator implements Validator, PartialStateHolder
     @Override
     public void validate(FacesContext context, UIComponent component, Object value)
     {
-        if (context == null)
-        {
-            throw new NullPointerException("context");
-        }
-        if (component == null)
-        {
-            throw new NullPointerException("component");
-        }
+        Assert.notNull(context, "context");
+        Assert.notNull(component, "component");
 
         if (value == null)
         {
@@ -168,10 +163,7 @@ public class RegexValidator implements Validator, PartialStateHolder
     @Override
     public Object saveState(FacesContext context)
     {
-        if (context == null)
-        {
-            throw new NullPointerException("context");
-        }
+        Assert.notNull(context, "context");
 
         if (!initialStateMarked())
         {
@@ -184,10 +176,7 @@ public class RegexValidator implements Validator, PartialStateHolder
     @Override
     public void restoreState(FacesContext context, Object state)
     {
-        if (context == null)
-        {
-            throw new NullPointerException("context");
-        }
+        Assert.notNull(context, "context");
 
         if (state != null)
         {
diff --git a/api/src/main/java/jakarta/faces/validator/RequiredValidator.java b/api/src/main/java/jakarta/faces/validator/RequiredValidator.java
index e49f6a3..f1745d6 100644
--- a/api/src/main/java/jakarta/faces/validator/RequiredValidator.java
+++ b/api/src/main/java/jakarta/faces/validator/RequiredValidator.java
@@ -27,6 +27,7 @@ import jakarta.faces.context.FacesContext;
 import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFJspProperty;
 import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFProperty;
 import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFValidator;
+import org.apache.myfaces.core.api.shared.lang.Assert;
 
 /**
  * Check if a value is empty, in the same way as set UIInput required 
@@ -55,14 +56,8 @@ public class RequiredValidator implements Validator
     public void validate(FacesContext facesContext, UIComponent uiComponent,
             Object value)
     {
-        if (facesContext == null)
-        {
-            throw new NullPointerException("facesContext");
-        }
-        if (uiComponent == null)
-        {
-            throw new NullPointerException("uiComponent");
-        }
+        Assert.notNull(facesContext, "facesContext");
+        Assert.notNull(uiComponent, "uiComponent");
 
         //Check if the value is empty like UIInput.validateValue
         boolean empty = value == null
diff --git a/api/src/main/java/jakarta/faces/view/facelets/FaceletCache.java b/api/src/main/java/jakarta/faces/view/facelets/FaceletCache.java
index a6661d9..1e8e238 100644
--- a/api/src/main/java/jakarta/faces/view/facelets/FaceletCache.java
+++ b/api/src/main/java/jakarta/faces/view/facelets/FaceletCache.java
@@ -21,6 +21,7 @@ package jakarta.faces.view.facelets;
 
 import java.io.IOException;
 import java.net.URL;
+import org.apache.myfaces.core.api.shared.lang.Assert;
 
 /**
  * @since 2.1
@@ -42,14 +43,9 @@ public abstract class FaceletCache<V>
     protected void setMemberFactories(FaceletCache.MemberFactory<V> faceletFactory,
                                       FaceletCache.MemberFactory<V> viewMetadataFaceletFactory)
     {
-        if (faceletFactory == null)
-        {
-            throw new NullPointerException("faceletFactory is null");
-        }
-        if  (viewMetadataFaceletFactory == null)
-        {
-            throw new NullPointerException("viewMetadataFaceletFactory is null");
-        }
+        Assert.notNull(faceletFactory, "faceletFactory");
+        Assert.notNull(viewMetadataFaceletFactory, "viewMetadataFaceletFactory");
+
         _faceletFactory = faceletFactory;
         _viewMetadataFaceletFactory = viewMetadataFaceletFactory;
     }
diff --git a/api/src/main/java/org/apache/myfaces/core/api/shared/ParametrizableFacesMessage.java b/api/src/main/java/org/apache/myfaces/core/api/shared/ParametrizableFacesMessage.java
index 53d8e0c..0a634b6 100644
--- a/api/src/main/java/org/apache/myfaces/core/api/shared/ParametrizableFacesMessage.java
+++ b/api/src/main/java/org/apache/myfaces/core/api/shared/ParametrizableFacesMessage.java
@@ -24,6 +24,7 @@ import java.util.Locale;
 import jakarta.el.ValueExpression;
 import jakarta.faces.application.FacesMessage;
 import jakarta.faces.context.FacesContext;
+import org.apache.myfaces.core.api.shared.lang.Assert;
 
 /** 
  * This class encapsulates a FacesMessage to evaluate the label
@@ -42,10 +43,7 @@ public class ParametrizableFacesMessage extends FacesMessage
     public ParametrizableFacesMessage(String summary, String detail, Object[] args, Locale locale)
     {
         super(summary, detail);
-        if (locale == null)
-        {
-            throw new NullPointerException("locale");
-        }
+        Assert.notNull(locale, "locale");
         this.locale = locale;
         this.args = args;
     }
@@ -54,10 +52,7 @@ public class ParametrizableFacesMessage extends FacesMessage
             Locale locale)
     {
         super(severity, summary, detail);
-        if (locale == null)
-        {
-            throw new NullPointerException("locale");
-        }
+        Assert.notNull(locale, "locale");
         this.locale = locale;
         this.args = args;
     }
diff --git a/api/src/main/java/org/apache/myfaces/core/api/shared/SharedRendererUtils.java b/api/src/main/java/org/apache/myfaces/core/api/shared/SharedRendererUtils.java
index a19830a..493d309 100755
--- a/api/src/main/java/org/apache/myfaces/core/api/shared/SharedRendererUtils.java
+++ b/api/src/main/java/org/apache/myfaces/core/api/shared/SharedRendererUtils.java
@@ -41,6 +41,7 @@ import jakarta.faces.convert.Converter;
 import jakarta.faces.convert.ConverterException;
 import jakarta.faces.model.SelectItem;
 import jakarta.faces.model.SelectItemGroup;
+import org.apache.myfaces.core.api.shared.lang.Assert;
 
 public class SharedRendererUtils
 {
@@ -112,11 +113,7 @@ public class SharedRendererUtils
         // Attention!
         // This code is duplicated in shared renderkit package (except for considerValueType).
         // If you change something here please do the same in the other class!
-
-        if (submittedValue == null)
-        {
-            throw new NullPointerException("submittedValue");
-        }
+        Assert.notNull(submittedValue, "submittedValue");
 
         ValueExpression expression = component.getValueExpression("value");
         Object targetForConvertedValues = null;
diff --git a/impl/src/main/java/org/apache/myfaces/util/lang/Assert.java b/api/src/main/java/org/apache/myfaces/core/api/shared/lang/Assert.java
similarity index 96%
rename from impl/src/main/java/org/apache/myfaces/util/lang/Assert.java
rename to api/src/main/java/org/apache/myfaces/core/api/shared/lang/Assert.java
index 7733d63..b049c51 100644
--- a/impl/src/main/java/org/apache/myfaces/util/lang/Assert.java
+++ b/api/src/main/java/org/apache/myfaces/core/api/shared/lang/Assert.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.myfaces.util.lang;
+package org.apache.myfaces.core.api.shared.lang;
 
 public class Assert
 {
diff --git a/api/src/main/java/org/apache/myfaces/core/api/shared/lang/ClassUtils.java b/api/src/main/java/org/apache/myfaces/core/api/shared/lang/ClassUtils.java
index 73c4a8b..bc28c63 100755
--- a/api/src/main/java/org/apache/myfaces/core/api/shared/lang/ClassUtils.java
+++ b/api/src/main/java/org/apache/myfaces/core/api/shared/lang/ClassUtils.java
@@ -131,10 +131,8 @@ public class ClassUtils
      */
     public static <T> Class<T> classForName(String type) throws ClassNotFoundException
     {
-        if (type == null)
-        {
-            throw new NullPointerException("type");
-        }
+        Assert.notNull(type, "type");
+ 
         try
         {
             // Try WebApp ClassLoader first
@@ -207,10 +205,7 @@ public class ClassUtils
      */
     public static Class<?> javaTypeToClass(String type) throws ClassNotFoundException
     {
-        if (type == null)
-        {
-            throw new NullPointerException("type");
-        }
+        Assert.notNull(type, "type");
 
         // try common types and arrays of common types first
         Class<?> clazz = COMMON_TYPES.get(type);
@@ -265,10 +260,7 @@ public class ClassUtils
     public static Class javaDefaultTypeToClass(String type)
             throws ClassNotFoundException
     {
-        if (type == null)
-        {
-            throw new NullPointerException("type");
-        }
+        Assert.notNull(type, "type");
 
         // try common types and arrays of common types first
         Class clazz = (Class) COMMON_TYPES.get(type);
diff --git a/impl/src/main/java/org/apache/myfaces/application/ApplicationFactoryImpl.java b/impl/src/main/java/org/apache/myfaces/application/ApplicationFactoryImpl.java
index dca21de..b0836ae 100755
--- a/impl/src/main/java/org/apache/myfaces/application/ApplicationFactoryImpl.java
+++ b/impl/src/main/java/org/apache/myfaces/application/ApplicationFactoryImpl.java
@@ -25,7 +25,7 @@ import jakarta.faces.application.Application;
 import jakarta.faces.application.ApplicationFactory;
 import jakarta.faces.context.ExternalContext;
 import jakarta.faces.context.FacesContext;
-import org.apache.myfaces.util.lang.Assert;
+import org.apache.myfaces.core.api.shared.lang.Assert;
 
 /**
  * @author Manfred Geiler (latest modification by $Author$)
diff --git a/impl/src/main/java/org/apache/myfaces/application/ApplicationImpl.java b/impl/src/main/java/org/apache/myfaces/application/ApplicationImpl.java
index 4de8f99..d3241aa 100755
--- a/impl/src/main/java/org/apache/myfaces/application/ApplicationImpl.java
+++ b/impl/src/main/java/org/apache/myfaces/application/ApplicationImpl.java
@@ -118,7 +118,7 @@ import org.apache.myfaces.config.MyfacesConfig;
 import org.apache.myfaces.core.api.shared.lang.LambdaPropertyDescriptor;
 import org.apache.myfaces.core.api.shared.lang.PropertyDescriptorUtils;
 import org.apache.myfaces.core.api.shared.lang.PropertyDescriptorWrapper;
-import org.apache.myfaces.util.lang.Assert;
+import org.apache.myfaces.core.api.shared.lang.Assert;
 import org.apache.myfaces.util.lang.ClassUtils;
 import org.apache.myfaces.util.lang.Lazy;
 import org.apache.myfaces.util.lang.StringUtils;
diff --git a/impl/src/main/java/org/apache/myfaces/application/ViewHandlerImpl.java b/impl/src/main/java/org/apache/myfaces/application/ViewHandlerImpl.java
index 2f3e8c7..d7d2065 100644
--- a/impl/src/main/java/org/apache/myfaces/application/ViewHandlerImpl.java
+++ b/impl/src/main/java/org/apache/myfaces/application/ViewHandlerImpl.java
@@ -52,7 +52,7 @@ import jakarta.faces.view.ViewMetadata;
 import jakarta.servlet.http.HttpServletResponse;
 
 import org.apache.myfaces.application.viewstate.StateCacheUtils;
-import org.apache.myfaces.util.lang.Assert;
+import org.apache.myfaces.core.api.shared.lang.Assert;
 import org.apache.myfaces.view.facelets.StateWriter;
 
 /**
diff --git a/impl/src/main/java/org/apache/myfaces/application/viewstate/StateUtils.java b/impl/src/main/java/org/apache/myfaces/application/viewstate/StateUtils.java
index 8a41c42..25d4807 100644
--- a/impl/src/main/java/org/apache/myfaces/application/viewstate/StateUtils.java
+++ b/impl/src/main/java/org/apache/myfaces/application/viewstate/StateUtils.java
@@ -42,7 +42,7 @@ import jakarta.faces.context.ExternalContext;
 import jakarta.servlet.ServletContext;
 
 import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFWebConfigParam;
-import org.apache.myfaces.util.lang.Assert;
+import org.apache.myfaces.core.api.shared.lang.Assert;
 import org.apache.myfaces.spi.SerialFactory;
 
 /**
diff --git a/impl/src/main/java/org/apache/myfaces/component/search/CompositeSearchKeywordResolver.java b/impl/src/main/java/org/apache/myfaces/component/search/CompositeSearchKeywordResolver.java
index 71434de..2ffc05b 100644
--- a/impl/src/main/java/org/apache/myfaces/component/search/CompositeSearchKeywordResolver.java
+++ b/impl/src/main/java/org/apache/myfaces/component/search/CompositeSearchKeywordResolver.java
@@ -23,7 +23,7 @@ import jakarta.faces.component.UIComponent;
 import jakarta.faces.component.search.SearchExpressionContext;
 import jakarta.faces.component.search.SearchKeywordContext;
 import jakarta.faces.component.search.SearchKeywordResolver;
-import org.apache.myfaces.util.lang.Assert;
+import org.apache.myfaces.core.api.shared.lang.Assert;
 
 public class CompositeSearchKeywordResolver extends SearchKeywordResolver
 {
diff --git a/impl/src/main/java/org/apache/myfaces/component/validate/WholeBeanValidator.java b/impl/src/main/java/org/apache/myfaces/component/validate/WholeBeanValidator.java
index bd84212..3652f4a 100644
--- a/impl/src/main/java/org/apache/myfaces/component/validate/WholeBeanValidator.java
+++ b/impl/src/main/java/org/apache/myfaces/component/validate/WholeBeanValidator.java
@@ -57,7 +57,7 @@ import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFPropert
 import org.apache.myfaces.core.api.shared.ELContextDecorator;
 import org.apache.myfaces.core.api.shared.FacesMessageInterpolator;
 import org.apache.myfaces.core.api.shared.ValueReferenceResolver;
-import org.apache.myfaces.util.lang.Assert;
+import org.apache.myfaces.core.api.shared.lang.Assert;
 import org.apache.myfaces.util.lang.ClassUtils;
 import org.apache.myfaces.util.MessageUtils;
 import org.apache.myfaces.util.MyFacesObjectInputStream;
diff --git a/impl/src/main/java/org/apache/myfaces/component/visit/FullVisitContext.java b/impl/src/main/java/org/apache/myfaces/component/visit/FullVisitContext.java
index 1b797e0..0860523 100644
--- a/impl/src/main/java/org/apache/myfaces/component/visit/FullVisitContext.java
+++ b/impl/src/main/java/org/apache/myfaces/component/visit/FullVisitContext.java
@@ -30,7 +30,7 @@ import jakarta.faces.component.visit.VisitContext;
 import jakarta.faces.component.visit.VisitHint;
 import jakarta.faces.component.visit.VisitResult;
 import jakarta.faces.context.FacesContext;
-import org.apache.myfaces.util.lang.Assert;
+import org.apache.myfaces.core.api.shared.lang.Assert;
 
 /**
  * <p>
diff --git a/impl/src/main/java/org/apache/myfaces/component/visit/PartialVisitContext.java b/impl/src/main/java/org/apache/myfaces/component/visit/PartialVisitContext.java
index 22952cd..b3425ce 100644
--- a/impl/src/main/java/org/apache/myfaces/component/visit/PartialVisitContext.java
+++ b/impl/src/main/java/org/apache/myfaces/component/visit/PartialVisitContext.java
@@ -36,7 +36,7 @@ import jakarta.faces.component.visit.VisitContext;
 import jakarta.faces.component.visit.VisitHint;
 import jakarta.faces.component.visit.VisitResult;
 import jakarta.faces.context.FacesContext;
-import org.apache.myfaces.util.lang.Assert;
+import org.apache.myfaces.core.api.shared.lang.Assert;
 
 /**
  * <p>
diff --git a/impl/src/main/java/org/apache/myfaces/config/RuntimeConfig.java b/impl/src/main/java/org/apache/myfaces/config/RuntimeConfig.java
index 3ebaa8a..7121667 100755
--- a/impl/src/main/java/org/apache/myfaces/config/RuntimeConfig.java
+++ b/impl/src/main/java/org/apache/myfaces/config/RuntimeConfig.java
@@ -45,7 +45,7 @@ import org.apache.myfaces.config.element.NavigationRule;
 import org.apache.myfaces.config.element.ResourceBundle;
 import org.apache.myfaces.config.element.ViewPoolMapping;
 import org.apache.myfaces.config.element.facelets.FaceletTagLibrary;
-import org.apache.myfaces.util.lang.Assert;
+import org.apache.myfaces.core.api.shared.lang.Assert;
 
 /**
  * Holds all configuration information (from the faces-config xml files) that is needed later during runtime. The config
diff --git a/impl/src/main/java/org/apache/myfaces/context/AjaxExceptionHandlerImpl.java b/impl/src/main/java/org/apache/myfaces/context/AjaxExceptionHandlerImpl.java
index 91a9eb6..14975ab 100644
--- a/impl/src/main/java/org/apache/myfaces/context/AjaxExceptionHandlerImpl.java
+++ b/impl/src/main/java/org/apache/myfaces/context/AjaxExceptionHandlerImpl.java
@@ -38,7 +38,7 @@ import jakarta.faces.event.AbortProcessingException;
 import jakarta.faces.event.ExceptionQueuedEvent;
 import jakarta.faces.event.ExceptionQueuedEventContext;
 import jakarta.faces.event.SystemEvent;
-import org.apache.myfaces.util.lang.Assert;
+import org.apache.myfaces.core.api.shared.lang.Assert;
 
 /**
  * 
diff --git a/impl/src/main/java/org/apache/myfaces/context/ExceptionHandlerImpl.java b/impl/src/main/java/org/apache/myfaces/context/ExceptionHandlerImpl.java
index 1c48908..5c46918 100644
--- a/impl/src/main/java/org/apache/myfaces/context/ExceptionHandlerImpl.java
+++ b/impl/src/main/java/org/apache/myfaces/context/ExceptionHandlerImpl.java
@@ -31,7 +31,7 @@ import jakarta.faces.event.AbortProcessingException;
 import jakarta.faces.event.ExceptionQueuedEvent;
 import jakarta.faces.event.ExceptionQueuedEventContext;
 import jakarta.faces.event.SystemEvent;
-import org.apache.myfaces.util.lang.Assert;
+import org.apache.myfaces.core.api.shared.lang.Assert;
 
 /** 
  * @since 2.0
diff --git a/impl/src/main/java/org/apache/myfaces/context/ExternalContextFactoryImpl.java b/impl/src/main/java/org/apache/myfaces/context/ExternalContextFactoryImpl.java
index c573a95..5f96184 100644
--- a/impl/src/main/java/org/apache/myfaces/context/ExternalContextFactoryImpl.java
+++ b/impl/src/main/java/org/apache/myfaces/context/ExternalContextFactoryImpl.java
@@ -28,7 +28,7 @@ import jakarta.servlet.ServletRequest;
 import jakarta.servlet.ServletResponse;
 
 import org.apache.myfaces.context.servlet.ServletExternalContextImpl;
-import org.apache.myfaces.util.lang.Assert;
+import org.apache.myfaces.core.api.shared.lang.Assert;
 
 /**
  * @author Leonardo Uribe (latest modification by $Author$)
diff --git a/impl/src/main/java/org/apache/myfaces/context/FacesContextFactoryImpl.java b/impl/src/main/java/org/apache/myfaces/context/FacesContextFactoryImpl.java
index 275c001..0d89b8c 100755
--- a/impl/src/main/java/org/apache/myfaces/context/FacesContextFactoryImpl.java
+++ b/impl/src/main/java/org/apache/myfaces/context/FacesContextFactoryImpl.java
@@ -35,7 +35,7 @@ import jakarta.faces.lifecycle.Lifecycle;
 import jakarta.faces.render.RenderKitFactory;
 
 import org.apache.myfaces.context.servlet.FacesContextImpl;
-import org.apache.myfaces.util.lang.Assert;
+import org.apache.myfaces.core.api.shared.lang.Assert;
 import org.apache.myfaces.util.lang.ClassUtils;
 
 /**
diff --git a/impl/src/main/java/org/apache/myfaces/context/servlet/FacesContextImpl.java b/impl/src/main/java/org/apache/myfaces/context/servlet/FacesContextImpl.java
index 325aa8e..d0072ef 100755
--- a/impl/src/main/java/org/apache/myfaces/context/servlet/FacesContextImpl.java
+++ b/impl/src/main/java/org/apache/myfaces/context/servlet/FacesContextImpl.java
@@ -45,7 +45,7 @@ import org.apache.myfaces.cdi.FacesScopeContext;
 
 import org.apache.myfaces.util.ExternalSpecifications;
 import org.apache.myfaces.context.ReleasableFacesContextFactory;
-import org.apache.myfaces.util.lang.Assert;
+import org.apache.myfaces.core.api.shared.lang.Assert;
 
 /**
  * @author Manfred Geiler (latest modification by $Author$)
diff --git a/impl/src/main/java/org/apache/myfaces/context/servlet/FacesContextImplBase.java b/impl/src/main/java/org/apache/myfaces/context/servlet/FacesContextImplBase.java
index ffc781c..c1c8698 100644
--- a/impl/src/main/java/org/apache/myfaces/context/servlet/FacesContextImplBase.java
+++ b/impl/src/main/java/org/apache/myfaces/context/servlet/FacesContextImplBase.java
@@ -39,7 +39,7 @@ import jakarta.faces.render.RenderKit;
 import jakarta.faces.render.RenderKitFactory;
 
 import org.apache.myfaces.el.FacesELContext;
-import org.apache.myfaces.util.lang.Assert;
+import org.apache.myfaces.core.api.shared.lang.Assert;
 import org.apache.myfaces.view.facelets.FaceletViewDeclarationLanguage; 
 
 /**
diff --git a/impl/src/main/java/org/apache/myfaces/context/servlet/ServletExternalContextImpl.java b/impl/src/main/java/org/apache/myfaces/context/servlet/ServletExternalContextImpl.java
index 236b091..d01e000 100755
--- a/impl/src/main/java/org/apache/myfaces/context/servlet/ServletExternalContextImpl.java
+++ b/impl/src/main/java/org/apache/myfaces/context/servlet/ServletExternalContextImpl.java
@@ -59,7 +59,7 @@ import jakarta.servlet.http.HttpSession;
 import org.apache.myfaces.config.MyfacesConfig;
 
 import org.apache.myfaces.context.flash.FlashImpl;
-import org.apache.myfaces.util.lang.Assert;
+import org.apache.myfaces.core.api.shared.lang.Assert;
 import org.apache.myfaces.util.lang.EnumerationIterator;
 import org.apache.myfaces.util.ExternalSpecifications;
 import org.apache.myfaces.core.api.shared.lang.SharedStringBuilder;
diff --git a/impl/src/main/java/org/apache/myfaces/context/servlet/ServletExternalContextImplBase.java b/impl/src/main/java/org/apache/myfaces/context/servlet/ServletExternalContextImplBase.java
index a757378..7c0f594 100644
--- a/impl/src/main/java/org/apache/myfaces/context/servlet/ServletExternalContextImplBase.java
+++ b/impl/src/main/java/org/apache/myfaces/context/servlet/ServletExternalContextImplBase.java
@@ -28,7 +28,7 @@ import jakarta.faces.context.ExternalContext;
 import jakarta.faces.lifecycle.ClientWindow;
 import jakarta.servlet.ServletContext;
 
-import org.apache.myfaces.util.lang.Assert;
+import org.apache.myfaces.core.api.shared.lang.Assert;
 
 /**
  * Provides a base implementation of the ExternalContext for Servlet
diff --git a/impl/src/main/java/org/apache/myfaces/flow/FlowHandlerImpl.java b/impl/src/main/java/org/apache/myfaces/flow/FlowHandlerImpl.java
index 988bb6b..bdd1354 100644
--- a/impl/src/main/java/org/apache/myfaces/flow/FlowHandlerImpl.java
+++ b/impl/src/main/java/org/apache/myfaces/flow/FlowHandlerImpl.java
@@ -42,7 +42,7 @@ import jakarta.faces.lifecycle.ClientWindow;
 import org.apache.myfaces.event.PostClientWindowAndViewInitializedEvent;
 import org.apache.myfaces.spi.FacesFlowProvider;
 import org.apache.myfaces.spi.FacesFlowProviderFactory;
-import org.apache.myfaces.util.lang.Assert;
+import org.apache.myfaces.core.api.shared.lang.Assert;
 import org.apache.myfaces.util.lang.StringUtils;
 
 /**
diff --git a/impl/src/main/java/org/apache/myfaces/lifecycle/LifecycleImpl.java b/impl/src/main/java/org/apache/myfaces/lifecycle/LifecycleImpl.java
index ab648d2..173ec75 100755
--- a/impl/src/main/java/org/apache/myfaces/lifecycle/LifecycleImpl.java
+++ b/impl/src/main/java/org/apache/myfaces/lifecycle/LifecycleImpl.java
@@ -38,7 +38,7 @@ import jakarta.faces.lifecycle.Lifecycle;
 import org.apache.myfaces.cdi.clientwindow.ClientWindowScopeContext;
 
 import org.apache.myfaces.config.FacesConfigurator;
-import org.apache.myfaces.util.lang.Assert;
+import org.apache.myfaces.core.api.shared.lang.Assert;
 import org.apache.myfaces.util.DebugUtils;
 
 /**
diff --git a/impl/src/main/java/org/apache/myfaces/renderkit/RenderKitFactoryImpl.java b/impl/src/main/java/org/apache/myfaces/renderkit/RenderKitFactoryImpl.java
index a2fb544..133a633 100755
--- a/impl/src/main/java/org/apache/myfaces/renderkit/RenderKitFactoryImpl.java
+++ b/impl/src/main/java/org/apache/myfaces/renderkit/RenderKitFactoryImpl.java
@@ -28,7 +28,7 @@ import jakarta.faces.FacesException;
 import jakarta.faces.context.FacesContext;
 import jakarta.faces.render.RenderKit;
 import jakarta.faces.render.RenderKitFactory;
-import org.apache.myfaces.util.lang.Assert;
+import org.apache.myfaces.core.api.shared.lang.Assert;
 
 /**
  * RenderKitFactory implementation as defined in Spec. JSF.7.3
diff --git a/impl/src/main/java/org/apache/myfaces/renderkit/RendererUtils.java b/impl/src/main/java/org/apache/myfaces/renderkit/RendererUtils.java
index 90c44ba..8ac3a30 100755
--- a/impl/src/main/java/org/apache/myfaces/renderkit/RendererUtils.java
+++ b/impl/src/main/java/org/apache/myfaces/renderkit/RendererUtils.java
@@ -53,7 +53,7 @@ import org.apache.myfaces.core.api.shared.SelectItemsIterator;
 import org.apache.myfaces.core.api.shared.SharedRendererUtils;
 
 import org.apache.myfaces.util.lang.HashMapUtils;
-import org.apache.myfaces.util.lang.Assert;
+import org.apache.myfaces.core.api.shared.lang.Assert;
 import org.apache.myfaces.renderkit.html.util.ComponentAttrs;
 
 public final class RendererUtils
diff --git a/impl/src/main/java/org/apache/myfaces/renderkit/html/HtmlCompositeFacetRenderer.java b/impl/src/main/java/org/apache/myfaces/renderkit/html/HtmlCompositeFacetRenderer.java
index c733ed1..9816206 100644
--- a/impl/src/main/java/org/apache/myfaces/renderkit/html/HtmlCompositeFacetRenderer.java
+++ b/impl/src/main/java/org/apache/myfaces/renderkit/html/HtmlCompositeFacetRenderer.java
@@ -25,7 +25,7 @@ import jakarta.faces.context.FacesContext;
 
 import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFRenderer;
 import org.apache.myfaces.renderkit.html.base.HtmlRenderer;
-import org.apache.myfaces.util.lang.Assert;
+import org.apache.myfaces.core.api.shared.lang.Assert;
 
 /**
  * 
diff --git a/impl/src/main/java/org/apache/myfaces/renderkit/html/HtmlRenderKitImpl.java b/impl/src/main/java/org/apache/myfaces/renderkit/html/HtmlRenderKitImpl.java
index 15c7bc3..8f9e6a0 100755
--- a/impl/src/main/java/org/apache/myfaces/renderkit/html/HtmlRenderKitImpl.java
+++ b/impl/src/main/java/org/apache/myfaces/renderkit/html/HtmlRenderKitImpl.java
@@ -42,7 +42,7 @@ import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFRenderK
 import org.apache.myfaces.renderkit.LazyRenderKit;
 import org.apache.myfaces.config.MyfacesConfig;
 import org.apache.myfaces.renderkit.ContentTypeUtils;
-import org.apache.myfaces.util.lang.Assert;
+import org.apache.myfaces.core.api.shared.lang.Assert;
 import org.apache.myfaces.util.lang.ClassUtils;
 
 /**
diff --git a/impl/src/main/java/org/apache/myfaces/renderkit/html/HtmlResponseWriterImpl.java b/impl/src/main/java/org/apache/myfaces/renderkit/html/HtmlResponseWriterImpl.java
index c1a77eb..5512c14 100644
--- a/impl/src/main/java/org/apache/myfaces/renderkit/html/HtmlResponseWriterImpl.java
+++ b/impl/src/main/java/org/apache/myfaces/renderkit/html/HtmlResponseWriterImpl.java
@@ -42,7 +42,7 @@ import org.apache.myfaces.util.CommentUtils;
 import org.apache.myfaces.util.lang.StreamCharBuffer;
 import org.apache.myfaces.renderkit.html.util.HTML;
 import org.apache.myfaces.renderkit.html.util.HTMLEncoder;
-import org.apache.myfaces.util.lang.Assert;
+import org.apache.myfaces.core.api.shared.lang.Assert;
 
 public class HtmlResponseWriterImpl extends ResponseWriter
 {
diff --git a/impl/src/main/java/org/apache/myfaces/renderkit/html/HtmlScriptRenderer.java b/impl/src/main/java/org/apache/myfaces/renderkit/html/HtmlScriptRenderer.java
index ce854bc..ca6c550 100644
--- a/impl/src/main/java/org/apache/myfaces/renderkit/html/HtmlScriptRenderer.java
+++ b/impl/src/main/java/org/apache/myfaces/renderkit/html/HtmlScriptRenderer.java
@@ -42,7 +42,7 @@ import org.apache.myfaces.renderkit.html.util.HtmlRendererUtils;
 import org.apache.myfaces.renderkit.RendererUtils;
 import org.apache.myfaces.renderkit.html.util.HTML;
 import org.apache.myfaces.renderkit.html.util.ResourceUtils;
-import org.apache.myfaces.util.lang.Assert;
+import org.apache.myfaces.core.api.shared.lang.Assert;
 import org.apache.myfaces.view.facelets.el.CompositeComponentELUtils;
 import org.apache.myfaces.view.facelets.tag.faces.ComponentSupport;
 import org.apache.myfaces.renderkit.html.util.ComponentAttrs;
diff --git a/impl/src/main/java/org/apache/myfaces/renderkit/html/HtmlStylesheetRenderer.java b/impl/src/main/java/org/apache/myfaces/renderkit/html/HtmlStylesheetRenderer.java
index f200a2f..86a8c0a 100644
--- a/impl/src/main/java/org/apache/myfaces/renderkit/html/HtmlStylesheetRenderer.java
+++ b/impl/src/main/java/org/apache/myfaces/renderkit/html/HtmlStylesheetRenderer.java
@@ -39,7 +39,7 @@ import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFRendere
 import org.apache.myfaces.renderkit.RendererUtils;
 import org.apache.myfaces.renderkit.html.util.HTML;
 import org.apache.myfaces.renderkit.html.util.ResourceUtils;
-import org.apache.myfaces.util.lang.Assert;
+import org.apache.myfaces.core.api.shared.lang.Assert;
 import org.apache.myfaces.view.facelets.el.CompositeComponentELUtils;
 import org.apache.myfaces.view.facelets.tag.faces.ComponentSupport;
 import org.apache.myfaces.renderkit.html.util.ComponentAttrs;
diff --git a/impl/src/main/java/org/apache/myfaces/renderkit/html/base/HtmlInputFileRendererBase.java b/impl/src/main/java/org/apache/myfaces/renderkit/html/base/HtmlInputFileRendererBase.java
index 3d609c6..57df191 100644
--- a/impl/src/main/java/org/apache/myfaces/renderkit/html/base/HtmlInputFileRendererBase.java
+++ b/impl/src/main/java/org/apache/myfaces/renderkit/html/base/HtmlInputFileRendererBase.java
@@ -51,7 +51,7 @@ import org.apache.myfaces.core.api.shared.ComponentUtils;
 
 import org.apache.myfaces.renderkit.html.util.HttpPartWrapper;
 import org.apache.myfaces.renderkit.html.util.HTML;
-import org.apache.myfaces.util.lang.Assert;
+import org.apache.myfaces.core.api.shared.lang.Assert;
 
 public class HtmlInputFileRendererBase extends HtmlRenderer
 {
diff --git a/impl/src/main/java/org/apache/myfaces/util/ParametrizableFacesMessage.java b/impl/src/main/java/org/apache/myfaces/util/ParametrizableFacesMessage.java
index 7ac6e50..39d938d 100644
--- a/impl/src/main/java/org/apache/myfaces/util/ParametrizableFacesMessage.java
+++ b/impl/src/main/java/org/apache/myfaces/util/ParametrizableFacesMessage.java
@@ -18,7 +18,7 @@
  */
 package org.apache.myfaces.util;
 
-import org.apache.myfaces.util.lang.Assert;
+import org.apache.myfaces.core.api.shared.lang.Assert;
 import java.text.MessageFormat;
 import java.util.Locale;
 
diff --git a/impl/src/main/java/org/apache/myfaces/view/ViewDeclarationLanguageBase.java b/impl/src/main/java/org/apache/myfaces/view/ViewDeclarationLanguageBase.java
index 37a5d35..abfceeb 100644
--- a/impl/src/main/java/org/apache/myfaces/view/ViewDeclarationLanguageBase.java
+++ b/impl/src/main/java/org/apache/myfaces/view/ViewDeclarationLanguageBase.java
@@ -25,7 +25,7 @@ import jakarta.faces.context.FacesContext;
 import jakarta.faces.view.ViewDeclarationLanguage;
 
 import org.apache.myfaces.application.InvalidViewIdException;
-import org.apache.myfaces.util.lang.Assert;
+import org.apache.myfaces.core.api.shared.lang.Assert;
 
 /**
  * @since 2.0
diff --git a/impl/src/main/java/org/apache/myfaces/view/facelets/AbstractFaceletCache.java b/impl/src/main/java/org/apache/myfaces/view/facelets/AbstractFaceletCache.java
index f4049da..5a8fc1d 100644
--- a/impl/src/main/java/org/apache/myfaces/view/facelets/AbstractFaceletCache.java
+++ b/impl/src/main/java/org/apache/myfaces/view/facelets/AbstractFaceletCache.java
@@ -22,7 +22,7 @@ import java.io.IOException;
 import java.net.URL;
 import jakarta.faces.view.facelets.FaceletCache;
 import jakarta.faces.view.facelets.FaceletContext;
-import org.apache.myfaces.util.lang.Assert;
+import org.apache.myfaces.core.api.shared.lang.Assert;
 
 /**
  * Extended FaceletCache contract that supports additional Myfaces specific concepts
diff --git a/impl/src/main/java/org/apache/myfaces/view/facelets/FaceletViewDeclarationLanguage.java b/impl/src/main/java/org/apache/myfaces/view/facelets/FaceletViewDeclarationLanguage.java
index 9aec356..62a7d89 100644
--- a/impl/src/main/java/org/apache/myfaces/view/facelets/FaceletViewDeclarationLanguage.java
+++ b/impl/src/main/java/org/apache/myfaces/view/facelets/FaceletViewDeclarationLanguage.java
@@ -98,7 +98,7 @@ import org.apache.myfaces.util.lang.ClassUtils;
 import org.apache.myfaces.util.lang.StringUtils;
 import org.apache.myfaces.component.visit.MyFacesVisitHints;
 import org.apache.myfaces.util.WebConfigParamUtils;
-import org.apache.myfaces.util.lang.Assert;
+import org.apache.myfaces.core.api.shared.lang.Assert;
 import org.apache.myfaces.view.ViewDeclarationLanguageStrategy;
 import org.apache.myfaces.view.ViewMetadataBase;
 import org.apache.myfaces.view.facelets.compiler.Compiler;
diff --git a/impl/src/main/java/org/apache/myfaces/view/facelets/compiler/Compiler.java b/impl/src/main/java/org/apache/myfaces/view/facelets/compiler/Compiler.java
index dff3610..cf76dfe 100644
--- a/impl/src/main/java/org/apache/myfaces/view/facelets/compiler/Compiler.java
+++ b/impl/src/main/java/org/apache/myfaces/view/facelets/compiler/Compiler.java
@@ -37,7 +37,7 @@ import jakarta.faces.view.facelets.FaceletHandler;
 import jakarta.faces.view.facelets.TagDecorator;
 
 import org.apache.myfaces.config.element.FaceletsProcessing;
-import org.apache.myfaces.util.lang.Assert;
+import org.apache.myfaces.core.api.shared.lang.Assert;
 import org.apache.myfaces.util.lang.ClassUtils;
 import org.apache.myfaces.view.facelets.tag.BaseMultipleTagDecorator;
 import org.apache.myfaces.view.facelets.tag.BaseTagDecorator;
diff --git a/impl/src/main/java/org/apache/myfaces/view/facelets/compiler/TagLibraryConfig.java b/impl/src/main/java/org/apache/myfaces/view/facelets/compiler/TagLibraryConfig.java
index 42787d4..2aa909a 100644
--- a/impl/src/main/java/org/apache/myfaces/view/facelets/compiler/TagLibraryConfig.java
+++ b/impl/src/main/java/org/apache/myfaces/view/facelets/compiler/TagLibraryConfig.java
@@ -49,7 +49,7 @@ import org.apache.myfaces.config.element.facelets.FaceletSourceTag;
 import org.apache.myfaces.config.element.facelets.FaceletTag;
 import org.apache.myfaces.config.element.facelets.FaceletTagLibrary;
 import org.apache.myfaces.config.element.facelets.FaceletValidatorTag;
-import org.apache.myfaces.util.lang.Assert;
+import org.apache.myfaces.core.api.shared.lang.Assert;
 import org.apache.myfaces.util.lang.ClassUtils;
 import org.apache.myfaces.util.lang.StringUtils;
 
diff --git a/impl/src/main/java/org/apache/myfaces/view/facelets/compiler/UILeaf.java b/impl/src/main/java/org/apache/myfaces/view/facelets/compiler/UILeaf.java
index 70703f9..b926c0a 100644
--- a/impl/src/main/java/org/apache/myfaces/view/facelets/compiler/UILeaf.java
+++ b/impl/src/main/java/org/apache/myfaces/view/facelets/compiler/UILeaf.java
@@ -46,7 +46,7 @@ import jakarta.faces.render.Renderer;
 
 import jakarta.faces.view.Location;
 import org.apache.myfaces.core.api.shared.ComponentUtils;
-import org.apache.myfaces.util.lang.Assert;
+import org.apache.myfaces.core.api.shared.lang.Assert;
 
 import org.apache.myfaces.core.api.shared.lang.SharedStringBuilder;
 import org.apache.myfaces.view.facelets.tag.faces.ComponentSupport;
diff --git a/impl/src/main/java/org/apache/myfaces/view/facelets/component/UIRepeat.java b/impl/src/main/java/org/apache/myfaces/view/facelets/component/UIRepeat.java
index b789912..c138de8 100644
--- a/impl/src/main/java/org/apache/myfaces/view/facelets/component/UIRepeat.java
+++ b/impl/src/main/java/org/apache/myfaces/view/facelets/component/UIRepeat.java
@@ -58,7 +58,7 @@ import jakarta.faces.render.Renderer;
 import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFComponent;
 import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFProperty;
 import org.apache.myfaces.cdi.model.FacesDataModelManager;
-import org.apache.myfaces.util.lang.Assert;
+import org.apache.myfaces.core.api.shared.lang.Assert;
 import org.apache.myfaces.core.api.shared.lang.SharedStringBuilder;
 import org.apache.myfaces.util.ExternalSpecifications;
 import org.apache.myfaces.view.facelets.LocationAwareFacesException;
diff --git a/impl/src/main/java/org/apache/myfaces/view/facelets/el/DefaultFunctionMapper.java b/impl/src/main/java/org/apache/myfaces/view/facelets/el/DefaultFunctionMapper.java
index e6b049f..3007544 100644
--- a/impl/src/main/java/org/apache/myfaces/view/facelets/el/DefaultFunctionMapper.java
+++ b/impl/src/main/java/org/apache/myfaces/view/facelets/el/DefaultFunctionMapper.java
@@ -27,7 +27,7 @@ import java.util.HashMap;
 import java.util.Map;
 
 import jakarta.el.FunctionMapper;
-import org.apache.myfaces.util.lang.Assert;
+import org.apache.myfaces.core.api.shared.lang.Assert;
 import org.apache.myfaces.util.lang.ClassUtils;
 
 
diff --git a/impl/src/main/java/org/apache/myfaces/view/facelets/impl/CacheELFaceletCacheImpl.java b/impl/src/main/java/org/apache/myfaces/view/facelets/impl/CacheELFaceletCacheImpl.java
index fa1fafb..bce75a7 100644
--- a/impl/src/main/java/org/apache/myfaces/view/facelets/impl/CacheELFaceletCacheImpl.java
+++ b/impl/src/main/java/org/apache/myfaces/view/facelets/impl/CacheELFaceletCacheImpl.java
@@ -30,7 +30,7 @@ import jakarta.faces.view.facelets.FaceletContext;
 import jakarta.faces.view.facelets.FaceletException;
 
 import org.apache.myfaces.resource.ResourceLoaderUtils;
-import org.apache.myfaces.util.lang.Assert;
+import org.apache.myfaces.core.api.shared.lang.Assert;
 import org.apache.myfaces.view.facelets.AbstractFaceletCache;
 import org.apache.myfaces.view.facelets.AbstractFaceletContext;
 
diff --git a/impl/src/main/java/org/apache/myfaces/view/facelets/impl/DefaultFaceletFactory.java b/impl/src/main/java/org/apache/myfaces/view/facelets/impl/DefaultFaceletFactory.java
index eeec952..940d607 100644
--- a/impl/src/main/java/org/apache/myfaces/view/facelets/impl/DefaultFaceletFactory.java
+++ b/impl/src/main/java/org/apache/myfaces/view/facelets/impl/DefaultFaceletFactory.java
@@ -42,7 +42,7 @@ import jakarta.faces.view.facelets.ResourceResolver;
 import org.apache.myfaces.config.MyfacesConfig;
 
 import org.apache.myfaces.resource.ResourceLoaderUtils;
-import org.apache.myfaces.util.lang.Assert;
+import org.apache.myfaces.core.api.shared.lang.Assert;
 import org.apache.myfaces.view.facelets.AbstractFaceletCache;
 import org.apache.myfaces.view.facelets.FaceletFactory;
 import org.apache.myfaces.view.facelets.compiler.Compiler;
diff --git a/impl/src/main/java/org/apache/myfaces/view/facelets/impl/FaceletCacheImpl.java b/impl/src/main/java/org/apache/myfaces/view/facelets/impl/FaceletCacheImpl.java
index d8da986..662ca26 100644
--- a/impl/src/main/java/org/apache/myfaces/view/facelets/impl/FaceletCacheImpl.java
+++ b/impl/src/main/java/org/apache/myfaces/view/facelets/impl/FaceletCacheImpl.java
@@ -27,7 +27,7 @@ import jakarta.faces.view.facelets.FaceletCache;
 import jakarta.faces.view.facelets.FaceletException;
 
 import org.apache.myfaces.resource.ResourceLoaderUtils;
-import org.apache.myfaces.util.lang.Assert;
+import org.apache.myfaces.core.api.shared.lang.Assert;
 
 /**
  * TODO: Note MyFaces core has another type of Facelet for read composite component
diff --git a/impl/src/main/java/org/apache/myfaces/view/facelets/tag/CompositeTagDecorator.java b/impl/src/main/java/org/apache/myfaces/view/facelets/tag/CompositeTagDecorator.java
index df67100..b864979 100644
--- a/impl/src/main/java/org/apache/myfaces/view/facelets/tag/CompositeTagDecorator.java
+++ b/impl/src/main/java/org/apache/myfaces/view/facelets/tag/CompositeTagDecorator.java
@@ -20,7 +20,7 @@ package org.apache.myfaces.view.facelets.tag;
 
 import jakarta.faces.view.facelets.Tag;
 import jakarta.faces.view.facelets.TagDecorator;
-import org.apache.myfaces.util.lang.Assert;
+import org.apache.myfaces.core.api.shared.lang.Assert;
 
 /**
  * A TagDecorator that is composed of 1 or more TagDecorator instances. It uses the chain of responsibility pattern to
diff --git a/impl/src/main/java/org/apache/myfaces/view/facelets/tag/CompositeTagLibrary.java b/impl/src/main/java/org/apache/myfaces/view/facelets/tag/CompositeTagLibrary.java
index a4f51d3..a0bfc6b 100644
--- a/impl/src/main/java/org/apache/myfaces/view/facelets/tag/CompositeTagLibrary.java
+++ b/impl/src/main/java/org/apache/myfaces/view/facelets/tag/CompositeTagLibrary.java
@@ -23,7 +23,7 @@ import java.lang.reflect.Method;
 import jakarta.faces.FacesException;
 import jakarta.faces.view.facelets.TagConfig;
 import jakarta.faces.view.facelets.TagHandler;
-import org.apache.myfaces.util.lang.Assert;
+import org.apache.myfaces.core.api.shared.lang.Assert;
 
 /**
  * A TagLibrary that is composed of 1 or more TagLibrary children. Uses the chain of responsibility pattern to stop
diff --git a/impl/src/main/java/org/apache/myfaces/view/facelets/tag/MetaRulesetImpl.java b/impl/src/main/java/org/apache/myfaces/view/facelets/tag/MetaRulesetImpl.java
index fcf3ac0..3321e66 100644
--- a/impl/src/main/java/org/apache/myfaces/view/facelets/tag/MetaRulesetImpl.java
+++ b/impl/src/main/java/org/apache/myfaces/view/facelets/tag/MetaRulesetImpl.java
@@ -36,7 +36,7 @@ import java.util.logging.Level;
 import java.util.logging.Logger;
 import jakarta.faces.context.FacesContext;
 import org.apache.myfaces.core.api.shared.lang.PropertyDescriptorUtils;
-import org.apache.myfaces.util.lang.Assert;
+import org.apache.myfaces.core.api.shared.lang.Assert;
 import org.apache.myfaces.view.facelets.PassthroughRule;
 import org.apache.myfaces.view.facelets.tag.faces.PassThroughLibrary;
 
diff --git a/impl/src/main/java/org/apache/myfaces/view/facelets/tag/composite/CompositeMetaRulesetImpl.java b/impl/src/main/java/org/apache/myfaces/view/facelets/tag/composite/CompositeMetaRulesetImpl.java
index 559f56e..e2708db 100644
--- a/impl/src/main/java/org/apache/myfaces/view/facelets/tag/composite/CompositeMetaRulesetImpl.java
+++ b/impl/src/main/java/org/apache/myfaces/view/facelets/tag/composite/CompositeMetaRulesetImpl.java
@@ -39,7 +39,7 @@ import java.util.Map;
 import java.util.logging.Level;
 import java.util.logging.Logger;
 import org.apache.myfaces.core.api.shared.lang.PropertyDescriptorUtils;
-import org.apache.myfaces.util.lang.Assert;
+import org.apache.myfaces.core.api.shared.lang.Assert;
 import org.apache.myfaces.view.facelets.tag.LambdaMetadataTargetImpl;
 import org.apache.myfaces.view.facelets.tag.NullMetadata;