You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by bo...@apache.org on 2021/01/22 09:13:29 UTC

[myfaces] branch master updated: fix eol

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

bommel 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 0ba83af  fix eol
     new e153f0b  Merge pull request #158 from bohmber/master
0ba83af is described below

commit 0ba83afb31c60f37e7c6a3848c44a10a8cb11a1f
Author: Bernd Bohmann <bo...@apache.org>
AuthorDate: Wed Jan 20 18:55:12 2021 +0100

    fix eol
---
 .../jakarta/faces/annotation/ApplicationMap.java   |   74 +-
 .../java/jakarta/faces/annotation/FacesConfig.java |   88 +-
 .../java/jakarta/faces/annotation/FlowMap.java     |   74 +-
 .../java/jakarta/faces/annotation/HeaderMap.java   |   74 +-
 .../jakarta/faces/annotation/HeaderValuesMap.java  |   74 +-
 .../jakarta/faces/annotation/InitParameterMap.java |   74 +-
 .../jakarta/faces/annotation/ManagedProperty.java  |   74 +-
 .../jakarta/faces/annotation/RequestCookieMap.java |   74 +-
 .../java/jakarta/faces/annotation/RequestMap.java  |   74 +-
 .../faces/annotation/RequestParameterMap.java      |   74 +-
 .../annotation/RequestParameterValuesMap.java      |   74 +-
 .../java/jakarta/faces/annotation/SessionMap.java  |   74 +-
 .../java/jakarta/faces/annotation/ViewMap.java     |   74 +-
 .../faces/application/ResourceVisitOption.java     |   56 +-
 .../jakarta/faces/application/ViewVisitOption.java |   58 +-
 .../jakarta/faces/component/UIImportConstants.java |  168 +-
 .../java/jakarta/faces/component/_UIWebsocket.java |  200 +-
 .../faces/component/html/_ChangeProperty.java      |   64 +-
 .../faces/component/html/_SelectProperty.java      |   64 +-
 .../search/ComponentNotFoundException.java         |   96 +-
 .../component/search/SearchExpressionContext.java  |  114 +-
 .../search/SearchExpressionContextFactory.java     |   96 +-
 .../component/search/SearchExpressionHandler.java  |  138 +-
 .../search/SearchExpressionHandlerWrapper.java     |  220 +-
 .../component/search/SearchExpressionHint.java     |   84 +-
 .../component/search/SearchKeywordContext.java     |  150 +-
 .../component/search/SearchKeywordResolver.java    |  132 +-
 .../component/search/UntargetableComponent.java    |   54 +-
 .../jakarta/faces/event/PostRenderViewEvent.java   |   84 +-
 .../java/jakarta/faces/event/WebsocketEvent.java   |  242 +-
 .../java/jakarta/faces/model/FacesDataModel.java   |   78 +-
 .../jakarta/faces/model/IterableDataModel.java     |  362 +--
 api/src/main/java/jakarta/faces/push/Push.java     |   74 +-
 .../main/java/jakarta/faces/push/PushContext.java  |   90 +-
 .../core/api/shared/ELContextDecorator.java        |  212 +-
 .../core/api/shared/FacesMessageInterpolator.java  |  110 +-
 .../core/api/shared/ValueReferenceResolver.java    |  132 +-
 .../api/shared/lang/LambdaPropertyDescriptor.java  |   88 +-
 .../api/shared/lang/PropertyDescriptorUtils.java   |  686 +++---
 .../api/shared/lang/PropertyDescriptorWrapper.java |  172 +-
 .../deployment/ManagedPropertyBuildStep.java       |  154 +-
 .../quarkus/runtime/MyFacesRecorder.java           |  136 +-
 .../quarkus/runtime/QuarkusFacesInitilializer.java |  120 +-
 .../runtime/application/QuarkusApplication.java    |  118 +-
 .../application/QuarkusApplicationFactory.java     |  100 +-
 .../runtime/exception/QuarkusExceptionHandler.java |  116 +-
 .../exception/QuarkusExceptionHandlerFactory.java  |   74 +-
 .../producer/ManagedPropertyBeanCreator.java       |   96 +-
 .../runtime/scopes/QuarkusFacesScopeContext.java   |  180 +-
 .../runtime/scopes/QuarkusFlowScopedContext.java   |  182 +-
 .../runtime/scopes/QuarkusViewScopeContext.java    |  180 +-
 .../scopes/QuarkusViewTransientScopeContext.java   |  182 +-
 .../runtime/spi/QuarkusAnnotationProvider.java     |  104 +-
 .../quarkus/runtime/spi/QuarkusCdiELResolver.java  |  262 +--
 .../runtime/spi/QuarkusELResolverBuilder.java      |   90 +-
 .../runtime/spi/QuarkusFacesFlowProvider.java      |   76 +-
 .../runtime/spi/QuarkusFactoryFinderProvider.java  |  206 +-
 .../spi/QuarkusFactoryFinderProviderFactory.java   |   68 +-
 .../runtime/spi/QuarkusInjectionProvider.java      |  100 +-
 .../core/extensions/quarkus/showcase/view/Car.java |  240 +-
 .../quarkus/showcase/view/CarService.java          |  204 +-
 .../extensions/quarkus/showcase/view/FileView.java |  114 +-
 .../quarkus/showcase/view/InputController.java     |   92 +-
 .../quarkus/showcase/view/LazyCarDataModel.java    |  226 +-
 .../quarkus/showcase/view/LazySorter.java          |  112 +-
 .../extensions/quarkus/showcase/view/LazyView.java |  164 +-
 .../showcase/view/MethodHandleELResolverBean.java  |  176 +-
 .../quarkus/showcase/view/MyBacking.java           |  108 +-
 .../quarkus/showcase/view/MyCollection.java        |   52 +-
 .../quarkus/showcase/view/MyCollectionModel.java   |   78 +-
 .../quarkus/showcase/view/MyConverter.java         |   78 +-
 .../quarkus/showcase/view/MyConverterManaged.java  |   78 +-
 .../quarkus/showcase/view/MyValidator.java         |   86 +-
 .../quarkus/showcase/view/SocketView.java          |  130 +-
 .../showcase/src/main/resources/META-INF/web.xml   |   82 +-
 impl/pom.xml                                       | 2462 ++++++++++----------
 .../application/ApplicationImplEventManager.java   |  736 +++---
 .../application/FacesServletMappingUtils.java      |  932 ++++----
 .../myfaces/application/ViewResourceIterator.java  |  324 +--
 .../java/org/apache/myfaces/cdi/FacesScoped.java   |   80 +-
 .../myfaces/cdi/config/FacesConfigBeanHolder.java  |   78 +-
 .../myfaces/cdi/config/FacesConfigExtension.java   |  140 +-
 .../managedproperty/ManagedPropertyExtension.java  |  136 +-
 .../cdi/managedproperty/ManagedPropertyInfo.java   |  156 +-
 .../managedproperty/ManagedPropertyProducer.java   |  184 +-
 .../cdi/model/FacesDataModelAnnotationLiteral.java |  146 +-
 .../myfaces/cdi/model/FacesDataModelExtension.java |  150 +-
 .../myfaces/cdi/model/FacesDataModelInfo.java      |  178 +-
 .../myfaces/cdi/model/FacesDataModelManager.java   |  340 +--
 .../myfaces/cdi/view/ViewTransientScoped.java      |   80 +-
 .../wrapper/FacesBehaviorAnnotationLiteral.java    |  150 +-
 .../cdi/wrapper/FacesBehaviorCDIWrapper.java       |  232 +-
 .../cdi/wrapper/FacesClientBehaviorCDIWrapper.java |  276 +--
 .../wrapper/FacesConverterAnnotationLiteral.java   |  176 +-
 .../cdi/wrapper/FacesConverterCDIWrapper.java      |  316 +--
 .../wrapper/FacesValidatorAnnotationLiteral.java   |  162 +-
 .../cdi/wrapper/FacesValidatorCDIWrapper.java      |  260 +--
 .../component/search/AllSearchKeywordResolver.java |  146 +-
 .../search/ChildSearchKeywordResolver.java         |  232 +-
 ...positeComponentParentSearchKeywordResolver.java |  116 +-
 .../search/CompositeSearchKeywordResolver.java     |  222 +-
 .../search/FormSearchKeywordResolver.java          |  138 +-
 .../component/search/IdSearchKeywordResolver.java  |  326 +--
 .../search/MyFacesSearchExpressionHints.java       |   70 +-
 .../NamingContainerSearchKeywordResolver.java      |  122 +-
 .../search/NextSearchKeywordResolver.java          |  168 +-
 .../search/NoneSearchKeywordResolver.java          |  134 +-
 .../search/ParentSearchKeywordResolver.java        |  116 +-
 .../search/PreviousSearchKeywordResolver.java      |  170 +-
 .../search/RootSearchKeywordResolver.java          |  118 +-
 .../search/SearchExpressionContextFactoryImpl.java |  120 +-
 .../search/SearchExpressionContextImpl.java        |  160 +-
 .../search/SearchExpressionHandlerImpl.java        | 1722 +++++++-------
 .../search/ThisSearchKeywordResolver.java          |  114 +-
 .../validate/CopyBeanInterceptorELResolver.java    |  176 +-
 .../validate/ValidateWholeBeanComponent.java       |  228 +-
 .../component/validate/WholeBeanValidator.java     |  842 +++----
 .../myfaces/component/visit/MyFacesVisitHints.java |   72 +-
 .../annotation/CdiAnnotationProviderExtension.java |  170 +-
 .../config/element/ComponentTagDeclaration.java    |   74 +-
 .../impl/element/ComponentTagDeclarationImpl.java  |  146 +-
 .../myfaces/context/flash/ReleasableFlash.java     |   64 +-
 .../el/resolver/EmptyStringToNullELResolver.java   |  148 +-
 .../myfaces/el/resolver/FlashELResolver.java       |  696 +++---
 .../el/resolver/ImportConstantsELResolver.java     |  508 ++--
 .../myfaces/el/resolver/LambdaBeanELResolver.java  |  332 +--
 .../PostClientWindowAndViewInitializedEvent.java   |   58 +-
 .../java/org/apache/myfaces/flow/FlowUtils.java    |  146 +-
 .../apache/myfaces/flow/NavigationCaseImpl.java    |  740 +++---
 .../flow/builder/NavigationCaseBuilderImpl.java    |  280 +--
 .../myfaces/lifecycle/RestoreViewSupport.java      |  218 +-
 .../clientwindow/WindowContextConfig.java          |  302 +--
 .../myfaces/push/AbstractWebsocketComponent.java   |  150 +-
 .../java/org/apache/myfaces/push/EndpointImpl.java |  270 +--
 .../main/java/org/apache/myfaces/push/Json.java    |  780 +++----
 .../myfaces/push/WebsocketComponentRenderer.java   |  542 ++---
 .../apache/myfaces/push/WebsocketConfigurator.java |  180 +-
 .../apache/myfaces/push/WebsocketFacesInit.java    |   84 +-
 .../apache/myfaces/push/WebsocketInitRenderer.java |   98 +-
 .../WebsocketSessionClusterSerializedRestore.java  |  158 +-
 .../org/apache/myfaces/push/_WebsocketInit.java    |  102 +-
 .../myfaces/push/cdi/PushContextCDIExtension.java  |  106 +-
 .../myfaces/push/cdi/PushContextFactoryBean.java   |   88 +-
 .../apache/myfaces/push/cdi/PushContextImpl.java   |  458 ++--
 .../myfaces/push/cdi/WebsocketApplicationBean.java |  186 +-
 .../cdi/WebsocketApplicationSessionHolder.java     |  610 ++---
 .../apache/myfaces/push/cdi/WebsocketChannel.java  |  186 +-
 .../myfaces/push/cdi/WebsocketChannelMetadata.java |  252 +-
 .../myfaces/push/cdi/WebsocketSessionBean.java     |  346 +--
 .../apache/myfaces/push/cdi/WebsocketViewBean.java |  316 +--
 .../html/EarlyFlushHtmlResponseWriterImpl.java     |  202 +-
 .../renderkit/html/HtmlCommandScriptRenderer.java  |  362 +--
 .../renderkit/html/util/AjaxScriptBuilder.java     |  600 ++---
 .../html/util/ClientBehaviorRendererUtils.java     |  994 ++++----
 .../renderkit/html/util/SelectItemInfo.java        |  152 +-
 .../renderkit/html/util/SelectItemsUtils.java      |  436 ++--
 .../ClassLoaderResourceLoaderIterator.java         |  728 +++---
 .../ExternalContextResourceLoaderIterator.java     |  356 +--
 .../org/apache/myfaces/spi/StateCacheProvider.java |   84 +-
 .../myfaces/spi/StateCacheProviderWrapper.java     |  110 +-
 .../org/apache/myfaces/util/NavigationUtils.java   |  298 +--
 .../apache/myfaces/util/lang/ArrayIterator.java    |  108 +-
 .../util/lang/FastByteArrayInputStream.java        |  196 +-
 .../util/lang/FastByteArrayOutputStream.java       |  220 +-
 .../java/org/apache/myfaces/util/lang/Hex.java     |  352 +--
 .../myfaces/util/lang/SkipMatchIterator.java       |  204 +-
 ...DynamicComponentRefreshTransientBuildEvent.java |   82 +-
 ...DynamicComponentRefreshTransientBuildEvent.java |   84 +-
 .../FaceletViewDeclarationLanguageBase.java        |  206 +-
 .../view/facelets/LocationAwareFacesException.java |  180 +-
 ...amicComponentRefreshTransientBuildCallback.java |   94 +-
 .../tag/ComponentTagDeclarationLibrary.java        |  540 ++---
 .../facelets/tag/LambdaMetadataTargetImpl.java     |  264 +--
 .../view/facelets/tag/LegacyUserTagHandler.java    |  316 +--
 .../myfaces/view/facelets/tag/NullMetadata.java    |   74 +-
 .../jsf/ComponentRelocatableResourceHandler.java   |  110 +-
 .../facelets/tag/jsf/core/WebsocketHandler.java    |  114 +-
 .../facelets/tag/jstl/core/LegacySetHandler.java   |  296 +--
 .../facelets/tag/ui/LegacyCompositionHandler.java  |  342 +--
 .../facelets/tag/ui/LegacyDecorateHandler.java     |  520 ++---
 .../view/facelets/tag/ui/LegacyParamHandler.java   |  190 +-
 .../util/FaceletsTemplateMappingUtils.java         |   82 +-
 .../util/FaceletsViewDeclarationLanguageUtils.java |  320 +--
 .../myfaces/webapp/MyFacesHttpSessionListener.java |  212 +-
 impl/src/main/resources/META-INF/web-fragment.xml  |   70 +-
 .../jakarta/faces/component/UIOutputPSSTest.java   | 1130 ++++-----
 .../apache/myfaces/application/flow/Flow5Bean.java |   88 +-
 .../FlowResourceHandlerMyFacesRequestTestCase.java |  196 +-
 .../viewstate/ClientSideStateCacheTest.java        |  428 ++--
 .../SerializedViewCollectionTestCase.java          |  644 ++---
 .../myfaces/component/search/SearchBean.java       |  248 +-
 .../component/search/SearchExpressionImplTest.java |  822 +++----
 .../ConfigFilesXmlValidationUtilsTestCase.java     |  220 +-
 .../myfaces/lifecycle/DummyPhaseListenerA.java     |  128 +-
 .../myfaces/lifecycle/DummyPhaseListenerB.java     |  104 +-
 .../lifecycle/PhaseListenerOrderingTest.java       |  118 +-
 .../html/HtmlResponseStateManagerTest.java         |  118 +-
 .../myfaces/resource/ResourceLoaderUtilsTest.java  |   96 +-
 .../facelets/TemplateInResourcesDirTestCase.java   |  130 +-
 .../myfaces/view/facelets/bean/ViewBean.java       |  146 +-
 .../facelets/compiler/SkipNamespaceUnitTest.java   |  274 +--
 .../facelets/el/CacheELExpressionsTestCase.java    |  174 +-
 .../myfaces/view/facelets/el/ELTextTest.java       |  162 +-
 .../pss/acid/component/UISimpleComponent1.java     |  116 +-
 .../pss/acid/component/UISimpleComponent2.java     |  136 +-
 .../facelets/pss/acid/managed/AcidTestBean.java    |  172 +-
 .../pss/acid/managed/CheckActionEventBean.java     |  104 +-
 .../pss/acid/managed/CustomSessionBean.java        |  112 +-
 .../facelets/pss/acid/managed/ValueHolder.java     |   88 +-
 .../view/facelets/stateless/StatelessTest.java     |  178 +-
 .../view/facelets/tag/TagAttributesImplTest.java   |  118 +-
 .../tag/jsf/core/validation/CustomerBean.java      |  108 +-
 .../view/facelets/tag/ui/RemoveTestCase.java       |  208 +-
 .../test/component/InputTextWithClass.java         |   52 +-
 .../view/facelets/test/component/MyUIPanel1.java   |   74 +-
 .../view/facelets/test/component/MyUIPanel2.java   |   78 +-
 .../view/facelets/test/component/MyUIPanel3.java   |   74 +-
 .../src/test/resources/arquillian.xml              |   74 +-
 .../exactMapping/src/test/resources/arquillian.xml |   74 +-
 .../src/test/resources/arquillian.xml              |   74 +-
 .../src/test/resources/arquillian.xml              |   74 +-
 .../src/test/resources/arquillian.xml              |   74 +-
 test/pom.xml                                       |  240 +-
 .../test/base/junit/AbstractHtmlUnitTestCase.java  |  632 ++---
 .../test/base/junit/runners/NamedRunner.java       |  252 +-
 .../test/base/junit/runners/TestClassLoader.java   |  718 +++---
 .../junit/runners/TestPerClassLoaderRunner.java    |  598 ++---
 .../test/config/ResourceBundleVarNames.java        |  100 +-
 .../myfaces/test/el/ExpressionTokenizer.java       |  386 +--
 .../test/el/FacesVariableResolverChainWrapper.java |  286 +--
 .../test/el/MockCompositeValueExpression.java      |  360 +--
 .../myfaces/test/el/ReservedWordsELResolver.java   |  244 +-
 .../myfaces/test/mock/MockFacesContext10.java      |  660 +++---
 .../myfaces/test/mock/MockRequestDispatcher.java   |  120 +-
 .../test/mock/MockResponseStateManager.java        |  792 +++----
 .../myfaces/test/mock/MockServletInputStream.java  |  146 +-
 .../myfaces/test/mock/MockServletRegistration.java |  202 +-
 .../myfaces/test/mock/_AbstractAttributeMap.java   |  896 +++----
 .../apache/myfaces/test/mock/_ApplicationMap.java  |  156 +-
 .../org/apache/myfaces/test/mock/_CookieMap.java   |  334 +--
 .../java/org/apache/myfaces/test/mock/_ELText.java |  888 +++----
 .../java/org/apache/myfaces/test/mock/_Hex.java    |  682 +++---
 .../myfaces/test/mock/_InitParameterMap.java       |  160 +-
 .../apache/myfaces/test/mock/_NullEnumeration.java |   98 +-
 .../myfaces/test/mock/_RequestHeaderMap.java       |  160 +-
 .../myfaces/test/mock/_RequestHeaderValuesMap.java |  184 +-
 .../org/apache/myfaces/test/mock/_RequestMap.java  |  156 +-
 .../myfaces/test/mock/_RequestParameterMap.java    |  132 +-
 .../test/mock/_RequestParameterValuesMap.java      |  134 +-
 .../org/apache/myfaces/test/mock/_SessionMap.java  |  176 +-
 .../mock/lifecycle/ApplyRequestValuesExecutor.java |   94 +-
 .../mock/lifecycle/DefaultRestoreViewSupport.java  |  244 +-
 .../mock/lifecycle/InvokeApplicationExecutor.java  |   94 +-
 .../myfaces/test/mock/lifecycle/PhaseExecutor.java |   92 +-
 .../test/mock/lifecycle/PhaseListenerManager.java  |  238 +-
 .../mock/lifecycle/ProcessValidationsExecutor.java |   88 +-
 .../mock/lifecycle/RenderResponseExecutor.java     |  122 +-
 .../test/mock/lifecycle/RestoreViewExecutor.java   |  290 +--
 .../test/mock/lifecycle/RestoreViewSupport.java    |  146 +-
 .../mock/lifecycle/UpdateModelValuesExecutor.java  |   92 +-
 .../resource/MockClassLoaderResourceLoader.java    |  260 +--
 .../MockExternalContextResourceLoader.java         |  446 ++--
 .../mock/resource/MockResourceHandlerSupport.java  |  248 +-
 .../test/mock/resource/MockResourceLoader.java     |  316 +--
 .../test/mock/resource/MockResourceMeta.java       |  246 +-
 .../test/mock/resource/MockSimpleResource.java     |  400 ++--
 .../mock/resource/MockSimpleResourceHandler.java   |  800 +++----
 .../myfaces/test/mock/visit/FullVisitContext.java  |  262 +--
 .../test/mock/visit/PartialVisitContext.java       |  938 ++++----
 269 files changed, 31792 insertions(+), 31792 deletions(-)

diff --git a/api/src/main/java/jakarta/faces/annotation/ApplicationMap.java b/api/src/main/java/jakarta/faces/annotation/ApplicationMap.java
index d58375d..86e683a 100644
--- a/api/src/main/java/jakarta/faces/annotation/ApplicationMap.java
+++ b/api/src/main/java/jakarta/faces/annotation/ApplicationMap.java
@@ -1,37 +1,37 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package jakarta.faces.annotation;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import static java.lang.annotation.RetentionPolicy.RUNTIME;
-import java.lang.annotation.Target;
-import jakarta.inject.Qualifier;
-
-/**
- *
- */
-@Qualifier
-@Retention(value=RUNTIME)
-@Target(value={ElementType.TYPE, ElementType.METHOD, ElementType.PARAMETER, ElementType.FIELD})
-public @interface ApplicationMap
-{
-    
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package jakarta.faces.annotation;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+import java.lang.annotation.Target;
+import jakarta.inject.Qualifier;
+
+/**
+ *
+ */
+@Qualifier
+@Retention(value=RUNTIME)
+@Target(value={ElementType.TYPE, ElementType.METHOD, ElementType.PARAMETER, ElementType.FIELD})
+public @interface ApplicationMap
+{
+    
+}
diff --git a/api/src/main/java/jakarta/faces/annotation/FacesConfig.java b/api/src/main/java/jakarta/faces/annotation/FacesConfig.java
index 2de8f9c..97e87b8 100644
--- a/api/src/main/java/jakarta/faces/annotation/FacesConfig.java
+++ b/api/src/main/java/jakarta/faces/annotation/FacesConfig.java
@@ -1,44 +1,44 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package jakarta.faces.annotation;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-import jakarta.enterprise.util.Nonbinding;
-import jakarta.inject.Qualifier;
-
-/**
- *
- */
-@Qualifier
-@Target(value=ElementType.TYPE)
-@Retention(value=RetentionPolicy.RUNTIME)
-public @interface FacesConfig
-{
-    
-    @Nonbinding Version version() default Version.JSF_2_3;
-
-    public static enum Version 
-    {
-        JSF_2_3
-    }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package jakarta.faces.annotation;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+import jakarta.enterprise.util.Nonbinding;
+import jakarta.inject.Qualifier;
+
+/**
+ *
+ */
+@Qualifier
+@Target(value=ElementType.TYPE)
+@Retention(value=RetentionPolicy.RUNTIME)
+public @interface FacesConfig
+{
+    
+    @Nonbinding Version version() default Version.JSF_2_3;
+
+    public static enum Version 
+    {
+        JSF_2_3
+    }
+}
diff --git a/api/src/main/java/jakarta/faces/annotation/FlowMap.java b/api/src/main/java/jakarta/faces/annotation/FlowMap.java
index 6f0b9bb..599ac2a 100644
--- a/api/src/main/java/jakarta/faces/annotation/FlowMap.java
+++ b/api/src/main/java/jakarta/faces/annotation/FlowMap.java
@@ -1,37 +1,37 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package jakarta.faces.annotation;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import static java.lang.annotation.RetentionPolicy.RUNTIME;
-import java.lang.annotation.Target;
-import jakarta.inject.Qualifier;
-
-/**
- *
- */
-@Qualifier
-@Retention(value=RUNTIME)
-@Target(value={ElementType.TYPE, ElementType.METHOD, ElementType.PARAMETER, ElementType.FIELD})
-public @interface FlowMap
-{
-    
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package jakarta.faces.annotation;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+import java.lang.annotation.Target;
+import jakarta.inject.Qualifier;
+
+/**
+ *
+ */
+@Qualifier
+@Retention(value=RUNTIME)
+@Target(value={ElementType.TYPE, ElementType.METHOD, ElementType.PARAMETER, ElementType.FIELD})
+public @interface FlowMap
+{
+    
+}
diff --git a/api/src/main/java/jakarta/faces/annotation/HeaderMap.java b/api/src/main/java/jakarta/faces/annotation/HeaderMap.java
index 7f9a250..3e68415 100644
--- a/api/src/main/java/jakarta/faces/annotation/HeaderMap.java
+++ b/api/src/main/java/jakarta/faces/annotation/HeaderMap.java
@@ -1,37 +1,37 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package jakarta.faces.annotation;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import static java.lang.annotation.RetentionPolicy.RUNTIME;
-import java.lang.annotation.Target;
-import jakarta.inject.Qualifier;
-
-/**
- *
- */
-@Qualifier
-@Retention(value=RUNTIME)
-@Target(value={ElementType.TYPE, ElementType.METHOD, ElementType.PARAMETER, ElementType.FIELD})
-public @interface HeaderMap
-{
-    
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package jakarta.faces.annotation;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+import java.lang.annotation.Target;
+import jakarta.inject.Qualifier;
+
+/**
+ *
+ */
+@Qualifier
+@Retention(value=RUNTIME)
+@Target(value={ElementType.TYPE, ElementType.METHOD, ElementType.PARAMETER, ElementType.FIELD})
+public @interface HeaderMap
+{
+    
+}
diff --git a/api/src/main/java/jakarta/faces/annotation/HeaderValuesMap.java b/api/src/main/java/jakarta/faces/annotation/HeaderValuesMap.java
index cb2f5f8..e0169a8 100644
--- a/api/src/main/java/jakarta/faces/annotation/HeaderValuesMap.java
+++ b/api/src/main/java/jakarta/faces/annotation/HeaderValuesMap.java
@@ -1,37 +1,37 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package jakarta.faces.annotation;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import static java.lang.annotation.RetentionPolicy.RUNTIME;
-import java.lang.annotation.Target;
-import jakarta.inject.Qualifier;
-
-/**
- *
- */
-@Qualifier
-@Retention(value=RUNTIME)
-@Target(value={ElementType.TYPE, ElementType.METHOD, ElementType.PARAMETER, ElementType.FIELD})
-public @interface HeaderValuesMap
-{
-    
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package jakarta.faces.annotation;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+import java.lang.annotation.Target;
+import jakarta.inject.Qualifier;
+
+/**
+ *
+ */
+@Qualifier
+@Retention(value=RUNTIME)
+@Target(value={ElementType.TYPE, ElementType.METHOD, ElementType.PARAMETER, ElementType.FIELD})
+public @interface HeaderValuesMap
+{
+    
+}
diff --git a/api/src/main/java/jakarta/faces/annotation/InitParameterMap.java b/api/src/main/java/jakarta/faces/annotation/InitParameterMap.java
index 382267d..ec8cd22 100644
--- a/api/src/main/java/jakarta/faces/annotation/InitParameterMap.java
+++ b/api/src/main/java/jakarta/faces/annotation/InitParameterMap.java
@@ -1,37 +1,37 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package jakarta.faces.annotation;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import static java.lang.annotation.RetentionPolicy.RUNTIME;
-import java.lang.annotation.Target;
-import jakarta.inject.Qualifier;
-
-/**
- *
- */
-@Qualifier
-@Retention(value=RUNTIME)
-@Target(value={ElementType.TYPE, ElementType.METHOD, ElementType.PARAMETER, ElementType.FIELD})
-public @interface InitParameterMap
-{
-    
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package jakarta.faces.annotation;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+import java.lang.annotation.Target;
+import jakarta.inject.Qualifier;
+
+/**
+ *
+ */
+@Qualifier
+@Retention(value=RUNTIME)
+@Target(value={ElementType.TYPE, ElementType.METHOD, ElementType.PARAMETER, ElementType.FIELD})
+public @interface InitParameterMap
+{
+    
+}
diff --git a/api/src/main/java/jakarta/faces/annotation/ManagedProperty.java b/api/src/main/java/jakarta/faces/annotation/ManagedProperty.java
index 9e50cfc..b0f3524 100644
--- a/api/src/main/java/jakarta/faces/annotation/ManagedProperty.java
+++ b/api/src/main/java/jakarta/faces/annotation/ManagedProperty.java
@@ -1,37 +1,37 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package jakarta.faces.annotation;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-import jakarta.inject.Qualifier;
-
-/**
- *
- */
-@Qualifier
-@Target(value=ElementType.FIELD)
-@Retention(value=RetentionPolicy.RUNTIME)
-public @interface ManagedProperty
-{
-    public String value();
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package jakarta.faces.annotation;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+import jakarta.inject.Qualifier;
+
+/**
+ *
+ */
+@Qualifier
+@Target(value=ElementType.FIELD)
+@Retention(value=RetentionPolicy.RUNTIME)
+public @interface ManagedProperty
+{
+    public String value();
+}
diff --git a/api/src/main/java/jakarta/faces/annotation/RequestCookieMap.java b/api/src/main/java/jakarta/faces/annotation/RequestCookieMap.java
index 4c88165..50d27c6 100644
--- a/api/src/main/java/jakarta/faces/annotation/RequestCookieMap.java
+++ b/api/src/main/java/jakarta/faces/annotation/RequestCookieMap.java
@@ -1,37 +1,37 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package jakarta.faces.annotation;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import static java.lang.annotation.RetentionPolicy.RUNTIME;
-import java.lang.annotation.Target;
-import jakarta.inject.Qualifier;
-
-/**
- *
- */
-@Qualifier
-@Retention(value=RUNTIME)
-@Target(value={ElementType.TYPE, ElementType.METHOD, ElementType.PARAMETER, ElementType.FIELD})
-public @interface RequestCookieMap
-{
-    
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package jakarta.faces.annotation;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+import java.lang.annotation.Target;
+import jakarta.inject.Qualifier;
+
+/**
+ *
+ */
+@Qualifier
+@Retention(value=RUNTIME)
+@Target(value={ElementType.TYPE, ElementType.METHOD, ElementType.PARAMETER, ElementType.FIELD})
+public @interface RequestCookieMap
+{
+    
+}
diff --git a/api/src/main/java/jakarta/faces/annotation/RequestMap.java b/api/src/main/java/jakarta/faces/annotation/RequestMap.java
index a155b19..4feb92b 100644
--- a/api/src/main/java/jakarta/faces/annotation/RequestMap.java
+++ b/api/src/main/java/jakarta/faces/annotation/RequestMap.java
@@ -1,37 +1,37 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package jakarta.faces.annotation;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import static java.lang.annotation.RetentionPolicy.RUNTIME;
-import java.lang.annotation.Target;
-import jakarta.inject.Qualifier;
-
-/**
- *
- */
-@Qualifier
-@Retention(value=RUNTIME)
-@Target(value={ElementType.TYPE, ElementType.METHOD, ElementType.PARAMETER, ElementType.FIELD})
-public @interface RequestMap
-{
-    
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package jakarta.faces.annotation;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+import java.lang.annotation.Target;
+import jakarta.inject.Qualifier;
+
+/**
+ *
+ */
+@Qualifier
+@Retention(value=RUNTIME)
+@Target(value={ElementType.TYPE, ElementType.METHOD, ElementType.PARAMETER, ElementType.FIELD})
+public @interface RequestMap
+{
+    
+}
diff --git a/api/src/main/java/jakarta/faces/annotation/RequestParameterMap.java b/api/src/main/java/jakarta/faces/annotation/RequestParameterMap.java
index 5712103..6b6fdd3 100644
--- a/api/src/main/java/jakarta/faces/annotation/RequestParameterMap.java
+++ b/api/src/main/java/jakarta/faces/annotation/RequestParameterMap.java
@@ -1,37 +1,37 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package jakarta.faces.annotation;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import static java.lang.annotation.RetentionPolicy.RUNTIME;
-import java.lang.annotation.Target;
-import jakarta.inject.Qualifier;
-
-/**
- *
- */
-@Qualifier
-@Retention(value=RUNTIME)
-@Target(value={ElementType.TYPE, ElementType.METHOD, ElementType.PARAMETER, ElementType.FIELD})
-public @interface RequestParameterMap
-{
-    
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package jakarta.faces.annotation;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+import java.lang.annotation.Target;
+import jakarta.inject.Qualifier;
+
+/**
+ *
+ */
+@Qualifier
+@Retention(value=RUNTIME)
+@Target(value={ElementType.TYPE, ElementType.METHOD, ElementType.PARAMETER, ElementType.FIELD})
+public @interface RequestParameterMap
+{
+    
+}
diff --git a/api/src/main/java/jakarta/faces/annotation/RequestParameterValuesMap.java b/api/src/main/java/jakarta/faces/annotation/RequestParameterValuesMap.java
index 7ab4d27..560dd80 100644
--- a/api/src/main/java/jakarta/faces/annotation/RequestParameterValuesMap.java
+++ b/api/src/main/java/jakarta/faces/annotation/RequestParameterValuesMap.java
@@ -1,37 +1,37 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package jakarta.faces.annotation;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import static java.lang.annotation.RetentionPolicy.RUNTIME;
-import java.lang.annotation.Target;
-import jakarta.inject.Qualifier;
-
-/**
- *
- */
-@Qualifier
-@Retention(value=RUNTIME)
-@Target(value={ElementType.TYPE, ElementType.METHOD, ElementType.PARAMETER, ElementType.FIELD})
-public @interface RequestParameterValuesMap
-{
-    
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package jakarta.faces.annotation;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+import java.lang.annotation.Target;
+import jakarta.inject.Qualifier;
+
+/**
+ *
+ */
+@Qualifier
+@Retention(value=RUNTIME)
+@Target(value={ElementType.TYPE, ElementType.METHOD, ElementType.PARAMETER, ElementType.FIELD})
+public @interface RequestParameterValuesMap
+{
+    
+}
diff --git a/api/src/main/java/jakarta/faces/annotation/SessionMap.java b/api/src/main/java/jakarta/faces/annotation/SessionMap.java
index f8bb6e8..d852382 100644
--- a/api/src/main/java/jakarta/faces/annotation/SessionMap.java
+++ b/api/src/main/java/jakarta/faces/annotation/SessionMap.java
@@ -1,37 +1,37 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package jakarta.faces.annotation;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import static java.lang.annotation.RetentionPolicy.RUNTIME;
-import java.lang.annotation.Target;
-import jakarta.inject.Qualifier;
-
-/**
- *
- */
-@Qualifier
-@Retention(value=RUNTIME)
-@Target(value={ElementType.TYPE, ElementType.METHOD, ElementType.PARAMETER, ElementType.FIELD})
-public @interface SessionMap
-{
-    
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package jakarta.faces.annotation;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+import java.lang.annotation.Target;
+import jakarta.inject.Qualifier;
+
+/**
+ *
+ */
+@Qualifier
+@Retention(value=RUNTIME)
+@Target(value={ElementType.TYPE, ElementType.METHOD, ElementType.PARAMETER, ElementType.FIELD})
+public @interface SessionMap
+{
+    
+}
diff --git a/api/src/main/java/jakarta/faces/annotation/ViewMap.java b/api/src/main/java/jakarta/faces/annotation/ViewMap.java
index 6f66f41..e8c9e74 100644
--- a/api/src/main/java/jakarta/faces/annotation/ViewMap.java
+++ b/api/src/main/java/jakarta/faces/annotation/ViewMap.java
@@ -1,37 +1,37 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package jakarta.faces.annotation;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import static java.lang.annotation.RetentionPolicy.RUNTIME;
-import java.lang.annotation.Target;
-import jakarta.inject.Qualifier;
-
-/**
- *
- */
-@Qualifier
-@Retention(value=RUNTIME)
-@Target(value={ElementType.TYPE, ElementType.METHOD, ElementType.PARAMETER, ElementType.FIELD})
-public @interface ViewMap
-{
-    
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package jakarta.faces.annotation;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+import java.lang.annotation.Target;
+import jakarta.inject.Qualifier;
+
+/**
+ *
+ */
+@Qualifier
+@Retention(value=RUNTIME)
+@Target(value={ElementType.TYPE, ElementType.METHOD, ElementType.PARAMETER, ElementType.FIELD})
+public @interface ViewMap
+{
+    
+}
diff --git a/api/src/main/java/jakarta/faces/application/ResourceVisitOption.java b/api/src/main/java/jakarta/faces/application/ResourceVisitOption.java
index dfab57f..114a1ba 100644
--- a/api/src/main/java/jakarta/faces/application/ResourceVisitOption.java
+++ b/api/src/main/java/jakarta/faces/application/ResourceVisitOption.java
@@ -1,28 +1,28 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package jakarta.faces.application;
-
-/**
- *
- */
-public enum ResourceVisitOption
-{
-    TOP_LEVEL_VIEWS_ONLY
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package jakarta.faces.application;
+
+/**
+ *
+ */
+public enum ResourceVisitOption
+{
+    TOP_LEVEL_VIEWS_ONLY
+}
diff --git a/api/src/main/java/jakarta/faces/application/ViewVisitOption.java b/api/src/main/java/jakarta/faces/application/ViewVisitOption.java
index becb032..a1fe74e 100644
--- a/api/src/main/java/jakarta/faces/application/ViewVisitOption.java
+++ b/api/src/main/java/jakarta/faces/application/ViewVisitOption.java
@@ -1,29 +1,29 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package jakarta.faces.application;
-
-/**
- * 
- * @since 2.3
- */
-public enum ViewVisitOption
-{
-    RETURN_AS_MINIMAL_IMPLICIT_OUTCOME
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package jakarta.faces.application;
+
+/**
+ * 
+ * @since 2.3
+ */
+public enum ViewVisitOption
+{
+    RETURN_AS_MINIMAL_IMPLICIT_OUTCOME
+}
diff --git a/api/src/main/java/jakarta/faces/component/UIImportConstants.java b/api/src/main/java/jakarta/faces/component/UIImportConstants.java
index 3b12948..b7bf418 100644
--- a/api/src/main/java/jakarta/faces/component/UIImportConstants.java
+++ b/api/src/main/java/jakarta/faces/component/UIImportConstants.java
@@ -1,84 +1,84 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package jakarta.faces.component;
-
-import jakarta.el.ValueExpression;
-
-import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFComponent;
-import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFProperty;
-
-@JSFComponent(clazz = "jakarta.faces.component.UIImportConstants",
-        name = "f:importConstants", bodyContent = "empty")
-public class UIImportConstants extends UIComponentBase
-{
-    
-    static public final String COMPONENT_FAMILY = "jakarta.faces.ImportConstants";
-    static public final String COMPONENT_TYPE = "jakarta.faces.ImportConstants";
-
-
-    public UIImportConstants()
-    {
-        setRendererType(null);
-    }
-
-    @Override    
-    public String getFamily()
-    {
-        return COMPONENT_FAMILY;
-    }
-    
-    @JSFProperty
-    public String getType()
-    {
-        return (String) getStateHelper().eval(PropertyKeys.type);
-    }
-    
-    public void setType(String type)
-    {
-        getStateHelper().put(PropertyKeys.type, type ); 
-    }
-
-    @JSFProperty
-    public String getVar()
-    {
-        return (String) getStateHelper().eval(PropertyKeys.var);
-    }
-    
-    public void setVar(String var)
-    {
-        getStateHelper().put(PropertyKeys.var, var ); 
-    }
-
-    @Override
-    public void setValueExpression(String name, ValueExpression binding) 
-    {
-        if (PropertyKeys.var.toString().equals(name)) 
-        {
-            throw new IllegalArgumentException(name);
-        }
-
-        super.setValueExpression(name, binding);
-    }
-
-    enum PropertyKeys
-    {
-         type
-        , var
-    }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package jakarta.faces.component;
+
+import jakarta.el.ValueExpression;
+
+import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFComponent;
+import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFProperty;
+
+@JSFComponent(clazz = "jakarta.faces.component.UIImportConstants",
+        name = "f:importConstants", bodyContent = "empty")
+public class UIImportConstants extends UIComponentBase
+{
+    
+    static public final String COMPONENT_FAMILY = "jakarta.faces.ImportConstants";
+    static public final String COMPONENT_TYPE = "jakarta.faces.ImportConstants";
+
+
+    public UIImportConstants()
+    {
+        setRendererType(null);
+    }
+
+    @Override    
+    public String getFamily()
+    {
+        return COMPONENT_FAMILY;
+    }
+    
+    @JSFProperty
+    public String getType()
+    {
+        return (String) getStateHelper().eval(PropertyKeys.type);
+    }
+    
+    public void setType(String type)
+    {
+        getStateHelper().put(PropertyKeys.type, type ); 
+    }
+
+    @JSFProperty
+    public String getVar()
+    {
+        return (String) getStateHelper().eval(PropertyKeys.var);
+    }
+    
+    public void setVar(String var)
+    {
+        getStateHelper().put(PropertyKeys.var, var ); 
+    }
+
+    @Override
+    public void setValueExpression(String name, ValueExpression binding) 
+    {
+        if (PropertyKeys.var.toString().equals(name)) 
+        {
+            throw new IllegalArgumentException(name);
+        }
+
+        super.setValueExpression(name, binding);
+    }
+
+    enum PropertyKeys
+    {
+         type
+        , var
+    }
+}
diff --git a/api/src/main/java/jakarta/faces/component/_UIWebsocket.java b/api/src/main/java/jakarta/faces/component/_UIWebsocket.java
index 271ff52..1b84590 100644
--- a/api/src/main/java/jakarta/faces/component/_UIWebsocket.java
+++ b/api/src/main/java/jakarta/faces/component/_UIWebsocket.java
@@ -1,100 +1,100 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package jakarta.faces.component;
-
-import java.io.Serializable;
-import java.util.Collection;
-import java.util.Collections;
-import jakarta.el.ValueExpression;
-import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFComponent;
-import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFProperty;
-
-@JSFComponent(clazz = "jakarta.faces.component.UIWebsocket",template=true,
-        name = "f:websocket",
-        defaultRendererType = "jakarta.faces.Websocket",
-        implementz = "jakarta.faces.component.behavior.ClientBehaviorHolder",
-        bodyContent = "empty")
-abstract class _UIWebsocket extends UIComponentBase
-{
-    
-    static public final String COMPONENT_FAMILY = "jakarta.faces.Script";
-    static public final String COMPONENT_TYPE = "jakarta.faces.Websocket";
-
-    private static final Collection<String> EVERY_EVENT = Collections.unmodifiableList(new java.util.ArrayList<String>()
-    {
-        @Override
-        public boolean contains(Object object)
-        {
-            return true;
-        }
-    });
-
-    @JSFProperty
-    public abstract String getChannel();
-    
-    @JSFProperty
-    public abstract String getScope();
-    
-    @JSFProperty
-    public abstract Serializable getUser();
-    
-    @JSFProperty
-    public abstract String getOnopen();
-    
-    @JSFProperty
-    public abstract String getOnmessage();
-    
-    @JSFProperty
-    public abstract String getOnclose();
-
-    @JSFProperty(defaultValue = "true")
-    public abstract boolean isConnected();
-
-    @Override
-    public void setValueExpression(String name, ValueExpression binding) 
-    {
-        if (PropertyKeys.channel.toString().equals(name) || PropertyKeys.scope.toString().equals(name)) 
-        {
-            throw new IllegalArgumentException(name);
-        }
-
-        if (PropertyKeys.user.toString().equals(name)) 
-        {
-            Object user = binding.getValue(getFacesContext().getELContext());
-
-            if (user != null && !(user instanceof Serializable)) 
-            {
-                throw new IllegalArgumentException("f:websocket 'user' attribute does not represent a valid user identifier because it is not Serializable.");
-            }
-        }
-
-        super.setValueExpression(name, binding);
-    }
-
-    enum PropertyKeys 
-    {
-        channel, scope, user, onopen, onmessage, onclose, connected;
-    }
-
-    @Override
-    public Collection<String> getEventNames()
-    {
-        return EVERY_EVENT;
-    }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package jakarta.faces.component;
+
+import java.io.Serializable;
+import java.util.Collection;
+import java.util.Collections;
+import jakarta.el.ValueExpression;
+import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFComponent;
+import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFProperty;
+
+@JSFComponent(clazz = "jakarta.faces.component.UIWebsocket",template=true,
+        name = "f:websocket",
+        defaultRendererType = "jakarta.faces.Websocket",
+        implementz = "jakarta.faces.component.behavior.ClientBehaviorHolder",
+        bodyContent = "empty")
+abstract class _UIWebsocket extends UIComponentBase
+{
+    
+    static public final String COMPONENT_FAMILY = "jakarta.faces.Script";
+    static public final String COMPONENT_TYPE = "jakarta.faces.Websocket";
+
+    private static final Collection<String> EVERY_EVENT = Collections.unmodifiableList(new java.util.ArrayList<String>()
+    {
+        @Override
+        public boolean contains(Object object)
+        {
+            return true;
+        }
+    });
+
+    @JSFProperty
+    public abstract String getChannel();
+    
+    @JSFProperty
+    public abstract String getScope();
+    
+    @JSFProperty
+    public abstract Serializable getUser();
+    
+    @JSFProperty
+    public abstract String getOnopen();
+    
+    @JSFProperty
+    public abstract String getOnmessage();
+    
+    @JSFProperty
+    public abstract String getOnclose();
+
+    @JSFProperty(defaultValue = "true")
+    public abstract boolean isConnected();
+
+    @Override
+    public void setValueExpression(String name, ValueExpression binding) 
+    {
+        if (PropertyKeys.channel.toString().equals(name) || PropertyKeys.scope.toString().equals(name)) 
+        {
+            throw new IllegalArgumentException(name);
+        }
+
+        if (PropertyKeys.user.toString().equals(name)) 
+        {
+            Object user = binding.getValue(getFacesContext().getELContext());
+
+            if (user != null && !(user instanceof Serializable)) 
+            {
+                throw new IllegalArgumentException("f:websocket 'user' attribute does not represent a valid user identifier because it is not Serializable.");
+            }
+        }
+
+        super.setValueExpression(name, binding);
+    }
+
+    enum PropertyKeys 
+    {
+        channel, scope, user, onopen, onmessage, onclose, connected;
+    }
+
+    @Override
+    public Collection<String> getEventNames()
+    {
+        return EVERY_EVENT;
+    }
+}
diff --git a/api/src/main/java/jakarta/faces/component/html/_ChangeProperty.java b/api/src/main/java/jakarta/faces/component/html/_ChangeProperty.java
index 7cc6181..4229a1b 100644
--- a/api/src/main/java/jakarta/faces/component/html/_ChangeProperty.java
+++ b/api/src/main/java/jakarta/faces/component/html/_ChangeProperty.java
@@ -1,32 +1,32 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package jakarta.faces.component.html;
-
-import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFProperty;
-
-interface _ChangeProperty
-{
-    /**
-     * HTML: Specifies a script to be invoked when the element is modified.
-     * 
-     */
-    @JSFProperty(clientEvent="change")
-    public abstract String getOnchange();
-
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package jakarta.faces.component.html;
+
+import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFProperty;
+
+interface _ChangeProperty
+{
+    /**
+     * HTML: Specifies a script to be invoked when the element is modified.
+     * 
+     */
+    @JSFProperty(clientEvent="change")
+    public abstract String getOnchange();
+
+}
diff --git a/api/src/main/java/jakarta/faces/component/html/_SelectProperty.java b/api/src/main/java/jakarta/faces/component/html/_SelectProperty.java
index 03f66df..4f18909 100644
--- a/api/src/main/java/jakarta/faces/component/html/_SelectProperty.java
+++ b/api/src/main/java/jakarta/faces/component/html/_SelectProperty.java
@@ -1,32 +1,32 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package jakarta.faces.component.html;
-
-import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFProperty;
-
-interface _SelectProperty
-{
-    /**
-     * HTML: Specifies a script to be invoked when the element is selected.
-     * 
-     */
-    @JSFProperty(clientEvent="select")
-    public abstract String getOnselect();
-
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package jakarta.faces.component.html;
+
+import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFProperty;
+
+interface _SelectProperty
+{
+    /**
+     * HTML: Specifies a script to be invoked when the element is selected.
+     * 
+     */
+    @JSFProperty(clientEvent="select")
+    public abstract String getOnselect();
+
+}
diff --git a/api/src/main/java/jakarta/faces/component/search/ComponentNotFoundException.java b/api/src/main/java/jakarta/faces/component/search/ComponentNotFoundException.java
index 78eea0d..16d87c6 100644
--- a/api/src/main/java/jakarta/faces/component/search/ComponentNotFoundException.java
+++ b/api/src/main/java/jakarta/faces/component/search/ComponentNotFoundException.java
@@ -1,48 +1,48 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package jakarta.faces.component.search;
-
-import jakarta.faces.FacesException;
-
-/**
- *
- */
-public class ComponentNotFoundException extends FacesException
-{
-
-    public ComponentNotFoundException()
-    {
-        super();
-    }
-
-    public ComponentNotFoundException(String message)
-    {
-        super(message);
-    }
-
-    public ComponentNotFoundException(Throwable cause)
-    {
-        super(cause);
-    }
-
-    public ComponentNotFoundException(String message, Throwable cause)
-    {
-        super(message, cause);
-    }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package jakarta.faces.component.search;
+
+import jakarta.faces.FacesException;
+
+/**
+ *
+ */
+public class ComponentNotFoundException extends FacesException
+{
+
+    public ComponentNotFoundException()
+    {
+        super();
+    }
+
+    public ComponentNotFoundException(String message)
+    {
+        super(message);
+    }
+
+    public ComponentNotFoundException(Throwable cause)
+    {
+        super(cause);
+    }
+
+    public ComponentNotFoundException(String message, Throwable cause)
+    {
+        super(message, cause);
+    }
+}
diff --git a/api/src/main/java/jakarta/faces/component/search/SearchExpressionContext.java b/api/src/main/java/jakarta/faces/component/search/SearchExpressionContext.java
index 99fb639..68e2966 100644
--- a/api/src/main/java/jakarta/faces/component/search/SearchExpressionContext.java
+++ b/api/src/main/java/jakarta/faces/component/search/SearchExpressionContext.java
@@ -1,57 +1,57 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package jakarta.faces.component.search;
-
-import java.util.Set;
-import jakarta.faces.FactoryFinder;
-import jakarta.faces.component.UIComponent;
-import jakarta.faces.component.visit.VisitHint;
-import jakarta.faces.context.FacesContext;
-
-/**
- *
- */
-public abstract class SearchExpressionContext
-{
-    
-    public static SearchExpressionContext createSearchExpressionContext(FacesContext context, UIComponent source)
-    {
-        return createSearchExpressionContext(context, source, null, null);
-    }
-        
-    public static SearchExpressionContext createSearchExpressionContext(
-            FacesContext context,  UIComponent source, 
-            Set<SearchExpressionHint> expressionHints, Set<VisitHint> visitHints)
-    {
-        SearchExpressionContextFactory factory
-                = (SearchExpressionContextFactory) FactoryFinder.getFactory(
-                        FactoryFinder.SEARCH_EXPRESSION_CONTEXT_FACTORY);
-        return factory.getSearchExpressionContext(context, source, expressionHints, visitHints);
-    }
-
-    public abstract UIComponent getSource();
-
-    public abstract Set<VisitHint> getVisitHints();
-
-    public abstract Set<SearchExpressionHint> getExpressionHints();
-
-    public abstract FacesContext getFacesContext();
-    
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package jakarta.faces.component.search;
+
+import java.util.Set;
+import jakarta.faces.FactoryFinder;
+import jakarta.faces.component.UIComponent;
+import jakarta.faces.component.visit.VisitHint;
+import jakarta.faces.context.FacesContext;
+
+/**
+ *
+ */
+public abstract class SearchExpressionContext
+{
+    
+    public static SearchExpressionContext createSearchExpressionContext(FacesContext context, UIComponent source)
+    {
+        return createSearchExpressionContext(context, source, null, null);
+    }
+        
+    public static SearchExpressionContext createSearchExpressionContext(
+            FacesContext context,  UIComponent source, 
+            Set<SearchExpressionHint> expressionHints, Set<VisitHint> visitHints)
+    {
+        SearchExpressionContextFactory factory
+                = (SearchExpressionContextFactory) FactoryFinder.getFactory(
+                        FactoryFinder.SEARCH_EXPRESSION_CONTEXT_FACTORY);
+        return factory.getSearchExpressionContext(context, source, expressionHints, visitHints);
+    }
+
+    public abstract UIComponent getSource();
+
+    public abstract Set<VisitHint> getVisitHints();
+
+    public abstract Set<SearchExpressionHint> getExpressionHints();
+
+    public abstract FacesContext getFacesContext();
+    
+}
diff --git a/api/src/main/java/jakarta/faces/component/search/SearchExpressionContextFactory.java b/api/src/main/java/jakarta/faces/component/search/SearchExpressionContextFactory.java
index 4027c44..0e3b7c8 100644
--- a/api/src/main/java/jakarta/faces/component/search/SearchExpressionContextFactory.java
+++ b/api/src/main/java/jakarta/faces/component/search/SearchExpressionContextFactory.java
@@ -1,48 +1,48 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package jakarta.faces.component.search;
-
-import java.util.Set;
-import jakarta.faces.FacesWrapper;
-import jakarta.faces.component.UIComponent;
-import jakarta.faces.component.visit.VisitHint;
-import jakarta.faces.context.FacesContext;
-
-/**
- *
- */
-public abstract class SearchExpressionContextFactory implements FacesWrapper<SearchExpressionContextFactory>
-{
-    private SearchExpressionContextFactory delegate;
-
-    public SearchExpressionContextFactory(SearchExpressionContextFactory delegate)
-    {
-        this.delegate = delegate;
-    }
-    
-    public abstract SearchExpressionContext getSearchExpressionContext(
-            FacesContext context,  UIComponent source,
-            Set<SearchExpressionHint> expressionHints, Set<VisitHint> visitHints);
-
-    @Override
-    public SearchExpressionContextFactory getWrapped()
-    {
-        return this.delegate;
-    }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package jakarta.faces.component.search;
+
+import java.util.Set;
+import jakarta.faces.FacesWrapper;
+import jakarta.faces.component.UIComponent;
+import jakarta.faces.component.visit.VisitHint;
+import jakarta.faces.context.FacesContext;
+
+/**
+ *
+ */
+public abstract class SearchExpressionContextFactory implements FacesWrapper<SearchExpressionContextFactory>
+{
+    private SearchExpressionContextFactory delegate;
+
+    public SearchExpressionContextFactory(SearchExpressionContextFactory delegate)
+    {
+        this.delegate = delegate;
+    }
+    
+    public abstract SearchExpressionContext getSearchExpressionContext(
+            FacesContext context,  UIComponent source,
+            Set<SearchExpressionHint> expressionHints, Set<VisitHint> visitHints);
+
+    @Override
+    public SearchExpressionContextFactory getWrapped()
+    {
+        return this.delegate;
+    }
+}
diff --git a/api/src/main/java/jakarta/faces/component/search/SearchExpressionHandler.java b/api/src/main/java/jakarta/faces/component/search/SearchExpressionHandler.java
index 5c1506d..d1677dc 100644
--- a/api/src/main/java/jakarta/faces/component/search/SearchExpressionHandler.java
+++ b/api/src/main/java/jakarta/faces/component/search/SearchExpressionHandler.java
@@ -1,69 +1,69 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package jakarta.faces.component.search;
-
-import java.util.List;
-import jakarta.faces.component.ContextCallback;
-import jakarta.faces.component.UIComponent;
-import jakarta.faces.context.FacesContext;
-
-/**
- *
- */
-public abstract class SearchExpressionHandler
-{
-
-    protected static final char[] EXPRESSION_SEPARATOR_CHARS = new char[]
-    {
-        ',', ' '
-    };
-    public static final String KEYWORD_PREFIX = "@";
-
-    public abstract String resolveClientId(SearchExpressionContext searchExpressionContext, String expression);
-
-    public abstract List<String> resolveClientIds(
-            SearchExpressionContext searchExpressionContext, String expressions);
-
-    public abstract void resolveComponent(SearchExpressionContext searchExpressionContext, String expression,
-            ContextCallback callback);
-
-    public abstract void resolveComponents(SearchExpressionContext searchExpressionContext, String expressions,
-            ContextCallback callback);
-
-    public void invokeOnComponent(SearchExpressionContext searchExpressionContext,
-            String expressions, ContextCallback topCallback)
-    {
-        invokeOnComponent(searchExpressionContext, searchExpressionContext.getSource(), expressions, topCallback);
-    }
-
-    public abstract void invokeOnComponent(SearchExpressionContext searchExpressionContext,
-            UIComponent previous, String expression, ContextCallback topCallback);
-
-    public abstract String[] splitExpressions(FacesContext context, String expressions);
-
-    public abstract boolean isPassthroughExpression(SearchExpressionContext searchExpressionContext, String expression);
-
-    public abstract boolean isValidExpression(SearchExpressionContext searchExpressionContext, String expression);
-    
-    public char[] getExpressionSeperatorChars(FacesContext context)
-    {
-        return EXPRESSION_SEPARATOR_CHARS;
-    }
-
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package jakarta.faces.component.search;
+
+import java.util.List;
+import jakarta.faces.component.ContextCallback;
+import jakarta.faces.component.UIComponent;
+import jakarta.faces.context.FacesContext;
+
+/**
+ *
+ */
+public abstract class SearchExpressionHandler
+{
+
+    protected static final char[] EXPRESSION_SEPARATOR_CHARS = new char[]
+    {
+        ',', ' '
+    };
+    public static final String KEYWORD_PREFIX = "@";
+
+    public abstract String resolveClientId(SearchExpressionContext searchExpressionContext, String expression);
+
+    public abstract List<String> resolveClientIds(
+            SearchExpressionContext searchExpressionContext, String expressions);
+
+    public abstract void resolveComponent(SearchExpressionContext searchExpressionContext, String expression,
+            ContextCallback callback);
+
+    public abstract void resolveComponents(SearchExpressionContext searchExpressionContext, String expressions,
+            ContextCallback callback);
+
+    public void invokeOnComponent(SearchExpressionContext searchExpressionContext,
+            String expressions, ContextCallback topCallback)
+    {
+        invokeOnComponent(searchExpressionContext, searchExpressionContext.getSource(), expressions, topCallback);
+    }
+
+    public abstract void invokeOnComponent(SearchExpressionContext searchExpressionContext,
+            UIComponent previous, String expression, ContextCallback topCallback);
+
+    public abstract String[] splitExpressions(FacesContext context, String expressions);
+
+    public abstract boolean isPassthroughExpression(SearchExpressionContext searchExpressionContext, String expression);
+
+    public abstract boolean isValidExpression(SearchExpressionContext searchExpressionContext, String expression);
+    
+    public char[] getExpressionSeperatorChars(FacesContext context)
+    {
+        return EXPRESSION_SEPARATOR_CHARS;
+    }
+
+}
diff --git a/api/src/main/java/jakarta/faces/component/search/SearchExpressionHandlerWrapper.java b/api/src/main/java/jakarta/faces/component/search/SearchExpressionHandlerWrapper.java
index 29100df..d87946a 100644
--- a/api/src/main/java/jakarta/faces/component/search/SearchExpressionHandlerWrapper.java
+++ b/api/src/main/java/jakarta/faces/component/search/SearchExpressionHandlerWrapper.java
@@ -1,110 +1,110 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package jakarta.faces.component.search;
-
-import java.util.List;
-import jakarta.faces.FacesWrapper;
-import jakarta.faces.component.ContextCallback;
-import jakarta.faces.component.UIComponent;
-import jakarta.faces.context.FacesContext;
-
-/**
- *
- */
-public abstract class SearchExpressionHandlerWrapper extends SearchExpressionHandler
-        implements FacesWrapper<SearchExpressionHandler>
-{
-    private SearchExpressionHandler delegate;
-
-    public SearchExpressionHandlerWrapper(SearchExpressionHandler delegate)
-    {
-        this.delegate = delegate;
-    }
-    
-    @Override
-    public SearchExpressionHandler getWrapped()
-    {
-        return delegate;
-    }
-
-    @Override
-    public String resolveClientId(SearchExpressionContext searchExpressionContext, String expression)
-    {
-        return getWrapped().resolveClientId(searchExpressionContext, expression);
-    }
-
-    @Override
-    public List<String> resolveClientIds(SearchExpressionContext searchExpressionContext, String expressions)
-    {
-        return getWrapped().resolveClientIds(searchExpressionContext, expressions);
-    }
-
-    @Override
-    public void resolveComponent(SearchExpressionContext searchExpressionContext,
-            String expression, ContextCallback callback)
-    {
-        getWrapped().resolveComponent(searchExpressionContext, expression, callback);
-    }
-
-    @Override
-    public void resolveComponents(
-            SearchExpressionContext searchExpressionContext, String expressions, ContextCallback callback)
-    {
-        getWrapped().resolveComponents(searchExpressionContext, expressions, callback);
-    }
-
-    @Override
-    public void invokeOnComponent(SearchExpressionContext searchExpressionContext,
-            String expression, ContextCallback topCallback)
-    {
-        getWrapped().invokeOnComponent(searchExpressionContext, expression, topCallback);
-    }
-    
-    @Override
-    public void invokeOnComponent(SearchExpressionContext searchExpressionContext,
-            UIComponent previous, String expression, ContextCallback topCallback)
-    {
-        getWrapped().invokeOnComponent(searchExpressionContext, previous, expression, topCallback);
-    }
-
-    @Override
-    public boolean isValidExpression(SearchExpressionContext searchExpressionContext, String expression)
-    {
-        return getWrapped().isValidExpression(searchExpressionContext, expression);
-    }
-
-    @Override
-    public boolean isPassthroughExpression(SearchExpressionContext searchExpressionContext, String expression)
-    {
-        return getWrapped().isPassthroughExpression(searchExpressionContext, expression);
-    }
-
-    @Override
-    public String[] splitExpressions(FacesContext context, String expressions)
-    {
-        return getWrapped().splitExpressions(context, expressions);
-    }
-
-    @Override
-    public char[] getExpressionSeperatorChars(FacesContext context)
-    {
-        return getWrapped().getExpressionSeperatorChars(context);
-    }
-
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package jakarta.faces.component.search;
+
+import java.util.List;
+import jakarta.faces.FacesWrapper;
+import jakarta.faces.component.ContextCallback;
+import jakarta.faces.component.UIComponent;
+import jakarta.faces.context.FacesContext;
+
+/**
+ *
+ */
+public abstract class SearchExpressionHandlerWrapper extends SearchExpressionHandler
+        implements FacesWrapper<SearchExpressionHandler>
+{
+    private SearchExpressionHandler delegate;
+
+    public SearchExpressionHandlerWrapper(SearchExpressionHandler delegate)
+    {
+        this.delegate = delegate;
+    }
+    
+    @Override
+    public SearchExpressionHandler getWrapped()
+    {
+        return delegate;
+    }
+
+    @Override
+    public String resolveClientId(SearchExpressionContext searchExpressionContext, String expression)
+    {
+        return getWrapped().resolveClientId(searchExpressionContext, expression);
+    }
+
+    @Override
+    public List<String> resolveClientIds(SearchExpressionContext searchExpressionContext, String expressions)
+    {
+        return getWrapped().resolveClientIds(searchExpressionContext, expressions);
+    }
+
+    @Override
+    public void resolveComponent(SearchExpressionContext searchExpressionContext,
+            String expression, ContextCallback callback)
+    {
+        getWrapped().resolveComponent(searchExpressionContext, expression, callback);
+    }
+
+    @Override
+    public void resolveComponents(
+            SearchExpressionContext searchExpressionContext, String expressions, ContextCallback callback)
+    {
+        getWrapped().resolveComponents(searchExpressionContext, expressions, callback);
+    }
+
+    @Override
+    public void invokeOnComponent(SearchExpressionContext searchExpressionContext,
+            String expression, ContextCallback topCallback)
+    {
+        getWrapped().invokeOnComponent(searchExpressionContext, expression, topCallback);
+    }
+    
+    @Override
+    public void invokeOnComponent(SearchExpressionContext searchExpressionContext,
+            UIComponent previous, String expression, ContextCallback topCallback)
+    {
+        getWrapped().invokeOnComponent(searchExpressionContext, previous, expression, topCallback);
+    }
+
+    @Override
+    public boolean isValidExpression(SearchExpressionContext searchExpressionContext, String expression)
+    {
+        return getWrapped().isValidExpression(searchExpressionContext, expression);
+    }
+
+    @Override
+    public boolean isPassthroughExpression(SearchExpressionContext searchExpressionContext, String expression)
+    {
+        return getWrapped().isPassthroughExpression(searchExpressionContext, expression);
+    }
+
+    @Override
+    public String[] splitExpressions(FacesContext context, String expressions)
+    {
+        return getWrapped().splitExpressions(context, expressions);
+    }
+
+    @Override
+    public char[] getExpressionSeperatorChars(FacesContext context)
+    {
+        return getWrapped().getExpressionSeperatorChars(context);
+    }
+
+}
diff --git a/api/src/main/java/jakarta/faces/component/search/SearchExpressionHint.java b/api/src/main/java/jakarta/faces/component/search/SearchExpressionHint.java
index b04e82b..210920d 100644
--- a/api/src/main/java/jakarta/faces/component/search/SearchExpressionHint.java
+++ b/api/src/main/java/jakarta/faces/component/search/SearchExpressionHint.java
@@ -1,42 +1,42 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package jakarta.faces.component.search;
-
-/**
- *
- */
-public enum SearchExpressionHint
-{
-
-    IGNORE_NO_RESULT,
-
-    /**
-     * Indicate that the method is collecting a list of real UIComponent instances.
-     */
-    SKIP_VIRTUAL_COMPONENTS,
-    
-    RESOLVE_SINGLE_COMPONENT,
-    
-    /**
-     * Indicate that some expressions can be resolved on the client side.
-     */
-    RESOLVE_CLIENT_SIDE
-
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package jakarta.faces.component.search;
+
+/**
+ *
+ */
+public enum SearchExpressionHint
+{
+
+    IGNORE_NO_RESULT,
+
+    /**
+     * Indicate that the method is collecting a list of real UIComponent instances.
+     */
+    SKIP_VIRTUAL_COMPONENTS,
+    
+    RESOLVE_SINGLE_COMPONENT,
+    
+    /**
+     * Indicate that some expressions can be resolved on the client side.
+     */
+    RESOLVE_CLIENT_SIDE
+
+}
diff --git a/api/src/main/java/jakarta/faces/component/search/SearchKeywordContext.java b/api/src/main/java/jakarta/faces/component/search/SearchKeywordContext.java
index 673aac0..5e9a2a4 100644
--- a/api/src/main/java/jakarta/faces/component/search/SearchKeywordContext.java
+++ b/api/src/main/java/jakarta/faces/component/search/SearchKeywordContext.java
@@ -1,75 +1,75 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package jakarta.faces.component.search;
-
-import jakarta.faces.component.ContextCallback;
-import jakarta.faces.component.UIComponent;
-
-/**
- *
- */
-public class SearchKeywordContext
-{
- 
-    private final SearchExpressionContext searchExpressionContext;
-    private final ContextCallback callback;
-    private final String remainingExpression;
-    
-    private boolean keywordResolved;
-
-    public SearchKeywordContext(SearchExpressionContext searchExpressionContext, ContextCallback callback, 
-            String remainingExpression)
-    {
-        this.searchExpressionContext = searchExpressionContext;
-        this.callback = callback;
-        this.remainingExpression = remainingExpression;
-    }
-
-    public void invokeContextCallback(UIComponent target)
-    {
-        keywordResolved = true;
-        callback.invokeContextCallback(searchExpressionContext.getFacesContext(), target);
-    }
-
-    public SearchExpressionContext getSearchExpressionContext()
-    {
-        return searchExpressionContext;
-    }
-
-    public ContextCallback getCallback()
-    {
-        return callback;
-    }
-
-    public boolean isKeywordResolved()
-    {
-        return keywordResolved;
-    }
-
-    public void setKeywordResolved(boolean keywordResolved)
-    {
-        this.keywordResolved = keywordResolved;
-    }
-
-    public String getRemainingExpression()
-    {
-        return remainingExpression;
-    }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package jakarta.faces.component.search;
+
+import jakarta.faces.component.ContextCallback;
+import jakarta.faces.component.UIComponent;
+
+/**
+ *
+ */
+public class SearchKeywordContext
+{
+ 
+    private final SearchExpressionContext searchExpressionContext;
+    private final ContextCallback callback;
+    private final String remainingExpression;
+    
+    private boolean keywordResolved;
+
+    public SearchKeywordContext(SearchExpressionContext searchExpressionContext, ContextCallback callback, 
+            String remainingExpression)
+    {
+        this.searchExpressionContext = searchExpressionContext;
+        this.callback = callback;
+        this.remainingExpression = remainingExpression;
+    }
+
+    public void invokeContextCallback(UIComponent target)
+    {
+        keywordResolved = true;
+        callback.invokeContextCallback(searchExpressionContext.getFacesContext(), target);
+    }
+
+    public SearchExpressionContext getSearchExpressionContext()
+    {
+        return searchExpressionContext;
+    }
+
+    public ContextCallback getCallback()
+    {
+        return callback;
+    }
+
+    public boolean isKeywordResolved()
+    {
+        return keywordResolved;
+    }
+
+    public void setKeywordResolved(boolean keywordResolved)
+    {
+        this.keywordResolved = keywordResolved;
+    }
+
+    public String getRemainingExpression()
+    {
+        return remainingExpression;
+    }
+}
diff --git a/api/src/main/java/jakarta/faces/component/search/SearchKeywordResolver.java b/api/src/main/java/jakarta/faces/component/search/SearchKeywordResolver.java
index 1bf4d28..62768d4 100644
--- a/api/src/main/java/jakarta/faces/component/search/SearchKeywordResolver.java
+++ b/api/src/main/java/jakarta/faces/component/search/SearchKeywordResolver.java
@@ -1,66 +1,66 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package jakarta.faces.component.search;
-
-import jakarta.faces.component.UIComponent;
-
-/**
- *
- */
-public abstract class SearchKeywordResolver
-{
-    
-    public abstract void resolve(SearchKeywordContext keywordContext, UIComponent current, String keyword);
-    
-    /**
-     * Check if the keyword can be resolved by the current resolver
-     * 
-     * @param searchExpressionContext
-     * @param keyword
-     * @return 
-     */
-    public abstract boolean isResolverForKeyword(SearchExpressionContext searchExpressionContext, String keyword);
-    
-    /**
-     * A passthrough keyword is a keyword that according to the context does not require to be resolved on the server,
-     * and can be passed to the client
-     * 
-     * @param searchExpressionContext
-     * @param keyword
-     * @return 
-     */
-    public boolean isPassthrough(SearchExpressionContext searchExpressionContext, String keyword)
-    {
-        return false;
-    }
-    
-    /**
-     * A leaf keyword is a keyword that does not allow to be combined with keywords or id chains to the right.
-     * For example: @none:@parent.
-     * 
-     * @param searchExpressionContext
-     * @param keyword
-     * @return 
-     */
-    public boolean isLeaf(SearchExpressionContext searchExpressionContext, String keyword)
-    {
-        return false;
-    }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package jakarta.faces.component.search;
+
+import jakarta.faces.component.UIComponent;
+
+/**
+ *
+ */
+public abstract class SearchKeywordResolver
+{
+    
+    public abstract void resolve(SearchKeywordContext keywordContext, UIComponent current, String keyword);
+    
+    /**
+     * Check if the keyword can be resolved by the current resolver
+     * 
+     * @param searchExpressionContext
+     * @param keyword
+     * @return 
+     */
+    public abstract boolean isResolverForKeyword(SearchExpressionContext searchExpressionContext, String keyword);
+    
+    /**
+     * A passthrough keyword is a keyword that according to the context does not require to be resolved on the server,
+     * and can be passed to the client
+     * 
+     * @param searchExpressionContext
+     * @param keyword
+     * @return 
+     */
+    public boolean isPassthrough(SearchExpressionContext searchExpressionContext, String keyword)
+    {
+        return false;
+    }
+    
+    /**
+     * A leaf keyword is a keyword that does not allow to be combined with keywords or id chains to the right.
+     * For example: @none:@parent.
+     * 
+     * @param searchExpressionContext
+     * @param keyword
+     * @return 
+     */
+    public boolean isLeaf(SearchExpressionContext searchExpressionContext, String keyword)
+    {
+        return false;
+    }
+}
diff --git a/api/src/main/java/jakarta/faces/component/search/UntargetableComponent.java b/api/src/main/java/jakarta/faces/component/search/UntargetableComponent.java
index b1f309b..266ee96 100644
--- a/api/src/main/java/jakarta/faces/component/search/UntargetableComponent.java
+++ b/api/src/main/java/jakarta/faces/component/search/UntargetableComponent.java
@@ -1,27 +1,27 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package jakarta.faces.component.search;
-
-/**
- * Components implementing this interface are ignored by @child(n) search keyword.
- */
-public interface UntargetableComponent
-{    
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package jakarta.faces.component.search;
+
+/**
+ * Components implementing this interface are ignored by @child(n) search keyword.
+ */
+public interface UntargetableComponent
+{    
+}
diff --git a/api/src/main/java/jakarta/faces/event/PostRenderViewEvent.java b/api/src/main/java/jakarta/faces/event/PostRenderViewEvent.java
index 45876f1..2891a28 100644
--- a/api/src/main/java/jakarta/faces/event/PostRenderViewEvent.java
+++ b/api/src/main/java/jakarta/faces/event/PostRenderViewEvent.java
@@ -1,42 +1,42 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package jakarta.faces.event;
-
-import jakarta.faces.component.UIViewRoot;
-import jakarta.faces.context.FacesContext;
-
-/**
- *
- * @author andraschko
- */
-public class PostRenderViewEvent extends ComponentSystemEvent
-{
-    public PostRenderViewEvent(UIViewRoot root)
-    {
-        super(root);
-    }
-
-    /**
-     * @since 2.3
-     */
-    public PostRenderViewEvent(FacesContext facesContext, UIViewRoot root)
-    {
-        super(root);
-    }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package jakarta.faces.event;
+
+import jakarta.faces.component.UIViewRoot;
+import jakarta.faces.context.FacesContext;
+
+/**
+ *
+ * @author andraschko
+ */
+public class PostRenderViewEvent extends ComponentSystemEvent
+{
+    public PostRenderViewEvent(UIViewRoot root)
+    {
+        super(root);
+    }
+
+    /**
+     * @since 2.3
+     */
+    public PostRenderViewEvent(FacesContext facesContext, UIViewRoot root)
+    {
+        super(root);
+    }
+}
diff --git a/api/src/main/java/jakarta/faces/event/WebsocketEvent.java b/api/src/main/java/jakarta/faces/event/WebsocketEvent.java
index f0c63e5..1008490 100644
--- a/api/src/main/java/jakarta/faces/event/WebsocketEvent.java
+++ b/api/src/main/java/jakarta/faces/event/WebsocketEvent.java
@@ -1,121 +1,121 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package jakarta.faces.event;
-
-import java.io.Serializable;
-import java.lang.annotation.Documented;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-import java.util.Objects;
-import jakarta.inject.Qualifier;
-import jakarta.websocket.CloseReason;
-
-/**
- *
- */
-public final class WebsocketEvent implements Serializable
-{
-   
-    private String channel;
-    private Serializable user;
-    private CloseReason.CloseCode code;
-    
-    public WebsocketEvent(String channel, Serializable user, CloseReason.CloseCode code)
-    {
-        this.channel = channel;
-        this.user = user;
-        this.code = code;
-    }
-
-    public String getChannel()
-    {
-        return channel;
-    }
-
-    public <S extends java.io.Serializable> S getUser()
-    {
-        return (S) user;
-    }
-
-    public CloseReason.CloseCode getCloseCode()
-    {
-        return code;
-    }
-
-    @Override
-    public int hashCode()
-    {
-        int hash = 3;
-        hash = 23 * hash + Objects.hashCode(this.channel);
-        hash = 23 * hash + Objects.hashCode(this.user);
-        hash = 23 * hash + Objects.hashCode(this.code);
-        return hash;
-    }
-
-    @Override
-    public boolean equals(Object obj)
-    {
-        if (obj == null)
-        {
-            return false;
-        }
-        if (getClass() != obj.getClass())
-        {
-            return false;
-        }
-        final WebsocketEvent other = (WebsocketEvent) obj;
-        if (!Objects.equals(this.channel, other.channel))
-        {
-            return false;
-        }
-        if (!Objects.equals(this.user, other.user))
-        {
-            return false;
-        }
-        if (!Objects.equals(this.code, other.code))
-        {
-            return false;
-        }
-        return true;
-    }
-    
-    @Override
-    public String toString()
-    {
-        return "WebsocketEvent{" + "channel=" + channel + ", user=" + user + ", code=" + code + '}';
-    }
-    
-    @Qualifier
-    @Target(ElementType.PARAMETER)
-    @Retention(RetentionPolicy.RUNTIME)
-    @Documented
-    public static @interface Opened 
-    {
-    }
-
-    @Qualifier
-    @Target(ElementType.PARAMETER)
-    @Retention(RetentionPolicy.RUNTIME)
-    @Documented
-    public static @interface Closed 
-    {
-    }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package jakarta.faces.event;
+
+import java.io.Serializable;
+import java.lang.annotation.Documented;
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+import java.util.Objects;
+import jakarta.inject.Qualifier;
+import jakarta.websocket.CloseReason;
+
+/**
+ *
+ */
+public final class WebsocketEvent implements Serializable
+{
+   
+    private String channel;
+    private Serializable user;
+    private CloseReason.CloseCode code;
+    
+    public WebsocketEvent(String channel, Serializable user, CloseReason.CloseCode code)
+    {
+        this.channel = channel;
+        this.user = user;
+        this.code = code;
+    }
+
+    public String getChannel()
+    {
+        return channel;
+    }
+
+    public <S extends java.io.Serializable> S getUser()
+    {
+        return (S) user;
+    }
+
+    public CloseReason.CloseCode getCloseCode()
+    {
+        return code;
+    }
+
+    @Override
+    public int hashCode()
+    {
+        int hash = 3;
+        hash = 23 * hash + Objects.hashCode(this.channel);
+        hash = 23 * hash + Objects.hashCode(this.user);
+        hash = 23 * hash + Objects.hashCode(this.code);
+        return hash;
+    }
+
+    @Override
+    public boolean equals(Object obj)
+    {
+        if (obj == null)
+        {
+            return false;
+        }
+        if (getClass() != obj.getClass())
+        {
+            return false;
+        }
+        final WebsocketEvent other = (WebsocketEvent) obj;
+        if (!Objects.equals(this.channel, other.channel))
+        {
+            return false;
+        }
+        if (!Objects.equals(this.user, other.user))
+        {
+            return false;
+        }
+        if (!Objects.equals(this.code, other.code))
+        {
+            return false;
+        }
+        return true;
+    }
+    
+    @Override
+    public String toString()
+    {
+        return "WebsocketEvent{" + "channel=" + channel + ", user=" + user + ", code=" + code + '}';
+    }
+    
+    @Qualifier
+    @Target(ElementType.PARAMETER)
+    @Retention(RetentionPolicy.RUNTIME)
+    @Documented
+    public static @interface Opened 
+    {
+    }
+
+    @Qualifier
+    @Target(ElementType.PARAMETER)
+    @Retention(RetentionPolicy.RUNTIME)
+    @Documented
+    public static @interface Closed 
+    {
+    }
+}
diff --git a/api/src/main/java/jakarta/faces/model/FacesDataModel.java b/api/src/main/java/jakarta/faces/model/FacesDataModel.java
index 292a585..1dde29a 100644
--- a/api/src/main/java/jakarta/faces/model/FacesDataModel.java
+++ b/api/src/main/java/jakarta/faces/model/FacesDataModel.java
@@ -1,39 +1,39 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package jakarta.faces.model;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Inherited;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-import jakarta.inject.Qualifier;
-
-/**
- *
- */
-@Retention(RetentionPolicy.RUNTIME)
-@Target(ElementType.TYPE)
-@Inherited
-@Qualifier
-public @interface FacesDataModel
-{
-    public java.lang.Class<?> forClass() default Object.class;
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package jakarta.faces.model;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Inherited;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+import jakarta.inject.Qualifier;
+
+/**
+ *
+ */
+@Retention(RetentionPolicy.RUNTIME)
+@Target(ElementType.TYPE)
+@Inherited
+@Qualifier
+public @interface FacesDataModel
+{
+    public java.lang.Class<?> forClass() default Object.class;
+}
diff --git a/api/src/main/java/jakarta/faces/model/IterableDataModel.java b/api/src/main/java/jakarta/faces/model/IterableDataModel.java
index e1871a5..404f9e3 100644
--- a/api/src/main/java/jakarta/faces/model/IterableDataModel.java
+++ b/api/src/main/java/jakarta/faces/model/IterableDataModel.java
@@ -1,181 +1,181 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package jakarta.faces.model;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-/**
- *
- * @since 2.3
- */
-public class IterableDataModel<E> extends DataModel<E>
-{
-    private int _rowIndex = -1;
-    private Iterable<E> _iterable;
-    private List<E> _list;
-    private Iterator<E> _iterator;
-    private int _count = -1;
-
-    public IterableDataModel()
-    {
-    }
-
-    public IterableDataModel(Iterable<E> iterable)
-    {
-        if (iterable == null)
-        {
-            throw new NullPointerException("array");
-        }
-        setWrappedData(iterable);
-    }
-
-    @Override
-    public int getRowCount()
-    {
-        return _count;
-    }
-
-    @Override
-    public E getRowData()
-    {
-        if (_iterable == null)
-        {
-            return null;
-        }
-        if (!isRowAvailable())
-        {
-            throw new IllegalArgumentException("row is unavailable");
-        }
-        return _list.get(_rowIndex);
-    }
-
-    @Override
-    public int getRowIndex()
-    {
-        return _rowIndex;
-    }
-
-    @Override
-    public Object getWrappedData()
-    {
-        return _iterable;
-    }
-
-    @Override
-    public boolean isRowAvailable()
-    {
-        return _iterable != null && _rowIndex >= 0 && _rowIndex < _list.size();
-    }
-
-    @Override
-    public void setRowIndex(int rowIndex)
-    {
-        if (rowIndex < -1)
-        {
-            throw new IllegalArgumentException("illegal rowIndex " + rowIndex);
-        }
-        int oldRowIndex = _rowIndex;
-        
-        if (oldRowIndex < rowIndex)
-        {
-            //Move forward
-            for (int i = 0; i < (rowIndex - oldRowIndex); i++)
-            {
-                if (_list == null)
-                {
-                    _list = new ArrayList<>();
-                }
-                if (_iterator == null && _iterable != null)
-                {
-                    _iterator = _iterable.iterator();
-                }
-                if (_iterator != null && _iterator.hasNext())
-                {
-                    _list.add(_iterator.next());
-                }
-                else
-                {
-                    // Trying to move to a non existent row
-                    continue;
-                }
-            }
-        }
-        else if (oldRowIndex == rowIndex)
-        {
-            // No change
-        }
-        else if (oldRowIndex > rowIndex)
-        {
-            // Retrieve it from cache
-        }
-        _rowIndex = rowIndex;
-        if (_iterable != null && oldRowIndex != _rowIndex)
-        {
-            Object data = isRowAvailable() ? getRowData() : null;
-            DataModelEvent event = new DataModelEvent(this, _rowIndex, data);
-            DataModelListener[] listeners = getDataModelListeners();
-            for (int i = 0; i < listeners.length; i++)
-            {
-                listeners[i].rowSelected(event);
-            }
-        }
-    }
-
-    @Override
-    public void setWrappedData(Object data)
-    {
-        if (data == null)
-        {
-            setRowIndex(-1);
-            _iterable = null;
-            _count = -1;
-        }
-        else
-        {
-            _iterable = (Iterable<E>)data;
-            _rowIndex = -1;
-            setRowIndex(0);
-            if (data instanceof Set)
-            {
-                _count = ((Set)data).size();
-            }
-            else if (data instanceof List)
-            {
-                _count = ((List)data).size();
-            }
-            else if (data instanceof Map)
-            {
-                _count = ((Map)data).size();
-            }
-            else if (data instanceof Collection)
-            {
-                _count = ((Collection)data).size();
-            }
-            else 
-            {
-                _count = -1;
-            }
-        }
-    }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package jakarta.faces.model;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+/**
+ *
+ * @since 2.3
+ */
+public class IterableDataModel<E> extends DataModel<E>
+{
+    private int _rowIndex = -1;
+    private Iterable<E> _iterable;
+    private List<E> _list;
+    private Iterator<E> _iterator;
+    private int _count = -1;
+
+    public IterableDataModel()
+    {
+    }
+
+    public IterableDataModel(Iterable<E> iterable)
+    {
+        if (iterable == null)
+        {
+            throw new NullPointerException("array");
+        }
+        setWrappedData(iterable);
+    }
+
+    @Override
+    public int getRowCount()
+    {
+        return _count;
+    }
+
+    @Override
+    public E getRowData()
+    {
+        if (_iterable == null)
+        {
+            return null;
+        }
+        if (!isRowAvailable())
+        {
+            throw new IllegalArgumentException("row is unavailable");
+        }
+        return _list.get(_rowIndex);
+    }
+
+    @Override
+    public int getRowIndex()
+    {
+        return _rowIndex;
+    }
+
+    @Override
+    public Object getWrappedData()
+    {
+        return _iterable;
+    }
+
+    @Override
+    public boolean isRowAvailable()
+    {
+        return _iterable != null && _rowIndex >= 0 && _rowIndex < _list.size();
+    }
+
+    @Override
+    public void setRowIndex(int rowIndex)
+    {
+        if (rowIndex < -1)
+        {
+            throw new IllegalArgumentException("illegal rowIndex " + rowIndex);
+        }
+        int oldRowIndex = _rowIndex;
+        
+        if (oldRowIndex < rowIndex)
+        {
+            //Move forward
+            for (int i = 0; i < (rowIndex - oldRowIndex); i++)
+            {
+                if (_list == null)
+                {
+                    _list = new ArrayList<>();
+                }
+                if (_iterator == null && _iterable != null)
+                {
+                    _iterator = _iterable.iterator();
+                }
+                if (_iterator != null && _iterator.hasNext())
+                {
+                    _list.add(_iterator.next());
+                }
+                else
+                {
+                    // Trying to move to a non existent row
+                    continue;
+                }
+            }
+        }
+        else if (oldRowIndex == rowIndex)
+        {
+            // No change
+        }
+        else if (oldRowIndex > rowIndex)
+        {
+            // Retrieve it from cache
+        }
+        _rowIndex = rowIndex;
+        if (_iterable != null && oldRowIndex != _rowIndex)
+        {
+            Object data = isRowAvailable() ? getRowData() : null;
+            DataModelEvent event = new DataModelEvent(this, _rowIndex, data);
+            DataModelListener[] listeners = getDataModelListeners();
+            for (int i = 0; i < listeners.length; i++)
+            {
+                listeners[i].rowSelected(event);
+            }
+        }
+    }
+
+    @Override
+    public void setWrappedData(Object data)
+    {
+        if (data == null)
+        {
+            setRowIndex(-1);
+            _iterable = null;
+            _count = -1;
+        }
+        else
+        {
+            _iterable = (Iterable<E>)data;
+            _rowIndex = -1;
+            setRowIndex(0);
+            if (data instanceof Set)
+            {
+                _count = ((Set)data).size();
+            }
+            else if (data instanceof List)
+            {
+                _count = ((List)data).size();
+            }
+            else if (data instanceof Map)
+            {
+                _count = ((Map)data).size();
+            }
+            else if (data instanceof Collection)
+            {
+                _count = ((Collection)data).size();
+            }
+            else 
+            {
+                _count = -1;
+            }
+        }
+    }
+}
diff --git a/api/src/main/java/jakarta/faces/push/Push.java b/api/src/main/java/jakarta/faces/push/Push.java
index 6fd2528..13f13d7 100644
--- a/api/src/main/java/jakarta/faces/push/Push.java
+++ b/api/src/main/java/jakarta/faces/push/Push.java
@@ -1,37 +1,37 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package jakarta.faces.push;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-import jakarta.enterprise.util.Nonbinding;
-import jakarta.inject.Qualifier;
-
-/**
- *
- */
-@Qualifier
-@Retention(value=RetentionPolicy.RUNTIME)
-@Target(value={ElementType.METHOD, ElementType.FIELD, ElementType.PARAMETER})
-public @interface Push
-{
-    public @Nonbinding String channel() default "";
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package jakarta.faces.push;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+import jakarta.enterprise.util.Nonbinding;
+import jakarta.inject.Qualifier;
+
+/**
+ *
+ */
+@Qualifier
+@Retention(value=RetentionPolicy.RUNTIME)
+@Target(value={ElementType.METHOD, ElementType.FIELD, ElementType.PARAMETER})
+public @interface Push
+{
+    public @Nonbinding String channel() default "";
+}
diff --git a/api/src/main/java/jakarta/faces/push/PushContext.java b/api/src/main/java/jakarta/faces/push/PushContext.java
index 4294c0a..94fa22a 100644
--- a/api/src/main/java/jakarta/faces/push/PushContext.java
+++ b/api/src/main/java/jakarta/faces/push/PushContext.java
@@ -1,45 +1,45 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package jakarta.faces.push;
-
-import java.io.Serializable;
-import java.util.Collection;
-import java.util.Map;
-import java.util.Set;
-import java.util.concurrent.Future;
-
-/**
- *
- */
-public interface PushContext extends Serializable
-{
-    
-    public static final String ENABLE_WEBSOCKET_ENDPOINT_PARAM_NAME = "jakarta.faces.ENABLE_WEBSOCKET_ENDPOINT";
-    
-    public static final String WEBSOCKET_ENDPOINT_PORT_PARAM_NAME = "jakarta.faces.WEBSOCKET_ENDPOINT_PORT";
-    
-    public static final String URI_PREFIX = "/jakarta.faces.push";
-    
-    public Set<Future<Void>> send(Object message);
-            
-    public <S extends Serializable> Set<Future<Void>> send(Object message, S user);  
-    
-    public <S extends Serializable> Map<S, Set<Future<Void>>> send(Object message, Collection<S> users);
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package jakarta.faces.push;
+
+import java.io.Serializable;
+import java.util.Collection;
+import java.util.Map;
+import java.util.Set;
+import java.util.concurrent.Future;
+
+/**
+ *
+ */
+public interface PushContext extends Serializable
+{
+    
+    public static final String ENABLE_WEBSOCKET_ENDPOINT_PARAM_NAME = "jakarta.faces.ENABLE_WEBSOCKET_ENDPOINT";
+    
+    public static final String WEBSOCKET_ENDPOINT_PORT_PARAM_NAME = "jakarta.faces.WEBSOCKET_ENDPOINT_PORT";
+    
+    public static final String URI_PREFIX = "/jakarta.faces.push";
+    
+    public Set<Future<Void>> send(Object message);
+            
+    public <S extends Serializable> Set<Future<Void>> send(Object message, S user);  
+    
+    public <S extends Serializable> Map<S, Set<Future<Void>>> send(Object message, Collection<S> users);
+}
diff --git a/api/src/main/java/org/apache/myfaces/core/api/shared/ELContextDecorator.java b/api/src/main/java/org/apache/myfaces/core/api/shared/ELContextDecorator.java
index b58903a..fef8609 100644
--- a/api/src/main/java/org/apache/myfaces/core/api/shared/ELContextDecorator.java
+++ b/api/src/main/java/org/apache/myfaces/core/api/shared/ELContextDecorator.java
@@ -1,106 +1,106 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.myfaces.core.api.shared;
-
-import java.util.Locale;
-import jakarta.el.ELContext;
-import jakarta.el.ELResolver;
-import jakarta.el.FunctionMapper;
-import jakarta.el.VariableMapper;
-
-/**
- * This ELContext is used to hook into the EL handling, by decorating the
- * ELResolver chain with a custom ELResolver.
- */
-public class ELContextDecorator extends ELContext
-{
-    private final ELContext ctx;
-    private final ELResolver interceptingResolver;
-
-    /**
-     * Only used by ValueExpressionResolver.
-     *
-     * @param elContext The standard ELContext. All method calls, except getELResolver, are delegated to it.
-     * @param interceptingResolver The ELResolver to be returned by getELResolver.
-     */
-    public ELContextDecorator(final ELContext elContext, final ELResolver interceptingResolver)
-    {
-        this.ctx = elContext;
-        this.interceptingResolver = interceptingResolver;
-    }
-
-    /**
-     * This is the important one, it returns the passed ELResolver.
-     * @return The ELResolver passed into the constructor.
-     */
-    @Override
-    public ELResolver getELResolver()
-    {
-        return interceptingResolver;
-    }
-
-    @Override
-    public FunctionMapper getFunctionMapper()
-    {
-        return ctx.getFunctionMapper();
-    }
-
-    @Override
-    public VariableMapper getVariableMapper()
-    {
-        return ctx.getVariableMapper();
-    }
-
-    @Override
-    public void setPropertyResolved(final boolean resolved)
-    {
-        ctx.setPropertyResolved(resolved);
-    }
-
-    @Override
-    public boolean isPropertyResolved()
-    {
-        return ctx.isPropertyResolved();
-    }
-
-    @Override
-    public void putContext(final Class key, Object contextObject)
-    {
-        ctx.putContext(key, contextObject);
-    }
-
-    @Override
-    public Object getContext(final Class key)
-    {
-        return ctx.getContext(key);
-    }
-
-    @Override
-    public Locale getLocale()
-    {
-        return ctx.getLocale();
-    }
-
-    @Override
-    public void setLocale(final Locale locale)
-    {
-        ctx.setLocale(locale);
-    }
-}
-
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.myfaces.core.api.shared;
+
+import java.util.Locale;
+import jakarta.el.ELContext;
+import jakarta.el.ELResolver;
+import jakarta.el.FunctionMapper;
+import jakarta.el.VariableMapper;
+
+/**
+ * This ELContext is used to hook into the EL handling, by decorating the
+ * ELResolver chain with a custom ELResolver.
+ */
+public class ELContextDecorator extends ELContext
+{
+    private final ELContext ctx;
+    private final ELResolver interceptingResolver;
+
+    /**
+     * Only used by ValueExpressionResolver.
+     *
+     * @param elContext The standard ELContext. All method calls, except getELResolver, are delegated to it.
+     * @param interceptingResolver The ELResolver to be returned by getELResolver.
+     */
+    public ELContextDecorator(final ELContext elContext, final ELResolver interceptingResolver)
+    {
+        this.ctx = elContext;
+        this.interceptingResolver = interceptingResolver;
+    }
+
+    /**
+     * This is the important one, it returns the passed ELResolver.
+     * @return The ELResolver passed into the constructor.
+     */
+    @Override
+    public ELResolver getELResolver()
+    {
+        return interceptingResolver;
+    }
+
+    @Override
+    public FunctionMapper getFunctionMapper()
+    {
+        return ctx.getFunctionMapper();
+    }
+
+    @Override
+    public VariableMapper getVariableMapper()
+    {
+        return ctx.getVariableMapper();
+    }
+
+    @Override
+    public void setPropertyResolved(final boolean resolved)
+    {
+        ctx.setPropertyResolved(resolved);
+    }
+
+    @Override
+    public boolean isPropertyResolved()
+    {
+        return ctx.isPropertyResolved();
+    }
+
+    @Override
+    public void putContext(final Class key, Object contextObject)
+    {
+        ctx.putContext(key, contextObject);
+    }
+
+    @Override
+    public Object getContext(final Class key)
+    {
+        return ctx.getContext(key);
+    }
+
+    @Override
+    public Locale getLocale()
+    {
+        return ctx.getLocale();
+    }
+
+    @Override
+    public void setLocale(final Locale locale)
+    {
+        ctx.setLocale(locale);
+    }
+}
+
diff --git a/api/src/main/java/org/apache/myfaces/core/api/shared/FacesMessageInterpolator.java b/api/src/main/java/org/apache/myfaces/core/api/shared/FacesMessageInterpolator.java
index f4079b5..3a8264e 100644
--- a/api/src/main/java/org/apache/myfaces/core/api/shared/FacesMessageInterpolator.java
+++ b/api/src/main/java/org/apache/myfaces/core/api/shared/FacesMessageInterpolator.java
@@ -1,55 +1,55 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.myfaces.core.api.shared;
-
-import java.util.Locale;
-import jakarta.faces.context.FacesContext;
-import jakarta.validation.MessageInterpolator;
-
-/**
- * Note: Before 2.1.5/2.0.11 there was another strategy for this point to minimize
- * the instances used, but after checking this with a profiler, it is more expensive to
- * call FacesContext.getCurrentInstance() than create this object for bean validation.
- * 
- * Standard MessageInterpolator, as described in the JSR-314 spec.
- */
-public class FacesMessageInterpolator implements MessageInterpolator
-{
-    private final FacesContext facesContext;
-    private final MessageInterpolator interpolator;
-
-    public FacesMessageInterpolator(final MessageInterpolator interpolator, final FacesContext facesContext)
-    {
-        this.interpolator = interpolator;
-        this.facesContext = facesContext;
-    }
-
-    @Override
-    public String interpolate(final String s, final MessageInterpolator.Context context)
-    {
-        Locale locale = facesContext.getViewRoot().getLocale();
-        return interpolator.interpolate(s, context, locale);
-    }
-
-    @Override
-    public String interpolate(final String s, final MessageInterpolator.Context context, final Locale locale)
-    {
-        return interpolator.interpolate(s, context, locale);
-    }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.myfaces.core.api.shared;
+
+import java.util.Locale;
+import jakarta.faces.context.FacesContext;
+import jakarta.validation.MessageInterpolator;
+
+/**
+ * Note: Before 2.1.5/2.0.11 there was another strategy for this point to minimize
+ * the instances used, but after checking this with a profiler, it is more expensive to
+ * call FacesContext.getCurrentInstance() than create this object for bean validation.
+ * 
+ * Standard MessageInterpolator, as described in the JSR-314 spec.
+ */
+public class FacesMessageInterpolator implements MessageInterpolator
+{
+    private final FacesContext facesContext;
+    private final MessageInterpolator interpolator;
+
+    public FacesMessageInterpolator(final MessageInterpolator interpolator, final FacesContext facesContext)
+    {
+        this.interpolator = interpolator;
+        this.facesContext = facesContext;
+    }
+
+    @Override
+    public String interpolate(final String s, final MessageInterpolator.Context context)
+    {
+        Locale locale = facesContext.getViewRoot().getLocale();
+        return interpolator.interpolate(s, context, locale);
+    }
+
+    @Override
+    public String interpolate(final String s, final MessageInterpolator.Context context, final Locale locale)
+    {
+        return interpolator.interpolate(s, context, locale);
+    }
+}
diff --git a/api/src/main/java/org/apache/myfaces/core/api/shared/ValueReferenceResolver.java b/api/src/main/java/org/apache/myfaces/core/api/shared/ValueReferenceResolver.java
index fd86032..cd671b0 100644
--- a/api/src/main/java/org/apache/myfaces/core/api/shared/ValueReferenceResolver.java
+++ b/api/src/main/java/org/apache/myfaces/core/api/shared/ValueReferenceResolver.java
@@ -1,66 +1,66 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.myfaces.core.api.shared;
-
-import jakarta.el.ELContext;
-import jakarta.el.ValueExpression;
-import jakarta.el.ValueReference;
-import jakarta.faces.context.FacesContext;
-import jakarta.faces.el.CompositeComponentExpressionHolder;
-
-public class ValueReferenceResolver
-{
-    /**
-     * Get the ValueReference from the ValueExpression.
-     *
-     * @param valueExpression The ValueExpression for value.
-     * @param context The FacesContext.
-     * @return A ValueReferenceWrapper with the necessary information about the ValueReference.
-     */
-    public static ValueReference resolve(ValueExpression valueExpression, FacesContext context)
-    {
-        ELContext elCtx = context.getELContext();
-        return ValueReferenceResolver.resolve(valueExpression, elCtx);
-    }
-
-    /**
-     * This method can be used to extract the ValueReference from the given ValueExpression.
-     *
-     * @param valueExpression The ValueExpression to resolve.
-     * @param elCtx The ELContext, needed to parse and execute the expression.
-     * @return The ValueReferenceWrapper.
-     */
-    public static ValueReference resolve(ValueExpression valueExpression, ELContext elCtx)
-    {
-        ValueReference valueReference = valueExpression.getValueReference(elCtx);
-        
-        while (valueReference != null && valueReference.getBase() instanceof CompositeComponentExpressionHolder)
-        {
-            valueExpression = ((CompositeComponentExpressionHolder) valueReference.getBase())
-                                  .getExpression((String) valueReference.getProperty());
-            if (valueExpression == null)
-            {
-                break;
-            }
-            valueReference = valueExpression.getValueReference(elCtx);
-        }
-
-        return valueReference;
-    }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.myfaces.core.api.shared;
+
+import jakarta.el.ELContext;
+import jakarta.el.ValueExpression;
+import jakarta.el.ValueReference;
+import jakarta.faces.context.FacesContext;
+import jakarta.faces.el.CompositeComponentExpressionHolder;
+
+public class ValueReferenceResolver
+{
+    /**
+     * Get the ValueReference from the ValueExpression.
+     *
+     * @param valueExpression The ValueExpression for value.
+     * @param context The FacesContext.
+     * @return A ValueReferenceWrapper with the necessary information about the ValueReference.
+     */
+    public static ValueReference resolve(ValueExpression valueExpression, FacesContext context)
+    {
+        ELContext elCtx = context.getELContext();
+        return ValueReferenceResolver.resolve(valueExpression, elCtx);
+    }
+
+    /**
+     * This method can be used to extract the ValueReference from the given ValueExpression.
+     *
+     * @param valueExpression The ValueExpression to resolve.
+     * @param elCtx The ELContext, needed to parse and execute the expression.
+     * @return The ValueReferenceWrapper.
+     */
+    public static ValueReference resolve(ValueExpression valueExpression, ELContext elCtx)
+    {
+        ValueReference valueReference = valueExpression.getValueReference(elCtx);
+        
+        while (valueReference != null && valueReference.getBase() instanceof CompositeComponentExpressionHolder)
+        {
+            valueExpression = ((CompositeComponentExpressionHolder) valueReference.getBase())
+                                  .getExpression((String) valueReference.getProperty());
+            if (valueExpression == null)
+            {
+                break;
+            }
+            valueReference = valueExpression.getValueReference(elCtx);
+        }
+
+        return valueReference;
+    }
+}
diff --git a/api/src/main/java/org/apache/myfaces/core/api/shared/lang/LambdaPropertyDescriptor.java b/api/src/main/java/org/apache/myfaces/core/api/shared/lang/LambdaPropertyDescriptor.java
index 284f641..ba4b6bd 100644
--- a/api/src/main/java/org/apache/myfaces/core/api/shared/lang/LambdaPropertyDescriptor.java
+++ b/api/src/main/java/org/apache/myfaces/core/api/shared/lang/LambdaPropertyDescriptor.java
@@ -1,44 +1,44 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.myfaces.core.api.shared.lang;
-
-import java.beans.PropertyDescriptor;
-import java.util.function.BiConsumer;
-import java.util.function.Function;
-
-public class LambdaPropertyDescriptor extends PropertyDescriptorWrapper
-{
-    Function<Object, Object> readFunction;
-    BiConsumer<Object, Object> writeFunction;
-
-    public LambdaPropertyDescriptor(Class<?> beanClass, PropertyDescriptor wrapped)
-    {
-        super(beanClass, wrapped);
-    }
-
-    public Function<Object, Object> getReadFunction()
-    {
-        return readFunction;
-    }
-
-    public BiConsumer<Object, Object> getWriteFunction()
-    {
-        return writeFunction;
-    }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.myfaces.core.api.shared.lang;
+
+import java.beans.PropertyDescriptor;
+import java.util.function.BiConsumer;
+import java.util.function.Function;
+
+public class LambdaPropertyDescriptor extends PropertyDescriptorWrapper
+{
+    Function<Object, Object> readFunction;
+    BiConsumer<Object, Object> writeFunction;
+
+    public LambdaPropertyDescriptor(Class<?> beanClass, PropertyDescriptor wrapped)
+    {
+        super(beanClass, wrapped);
+    }
+
+    public Function<Object, Object> getReadFunction()
+    {
+        return readFunction;
+    }
+
+    public BiConsumer<Object, Object> getWriteFunction()
+    {
+        return writeFunction;
+    }
+}
diff --git a/api/src/main/java/org/apache/myfaces/core/api/shared/lang/PropertyDescriptorUtils.java b/api/src/main/java/org/apache/myfaces/core/api/shared/lang/PropertyDescriptorUtils.java
index ab41bbe..bdc96e5 100644
--- a/api/src/main/java/org/apache/myfaces/core/api/shared/lang/PropertyDescriptorUtils.java
+++ b/api/src/main/java/org/apache/myfaces/core/api/shared/lang/PropertyDescriptorUtils.java
@@ -1,343 +1,343 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.myfaces.core.api.shared.lang;
-
-import java.beans.IntrospectionException;
-import java.beans.Introspector;
-import java.beans.PropertyDescriptor;
-import java.lang.invoke.CallSite;
-import java.lang.invoke.LambdaConversionException;
-import java.lang.invoke.LambdaMetafactory;
-import java.lang.invoke.MethodHandle;
-import java.lang.invoke.MethodHandles;
-import java.lang.invoke.MethodType;
-import java.lang.reflect.Method;
-import java.util.Collections;
-import java.util.Map;
-import java.util.concurrent.ConcurrentHashMap;
-import java.util.function.BiConsumer;
-import java.util.function.Function;
-import java.util.function.ObjDoubleConsumer;
-import java.util.function.ObjIntConsumer;
-import java.util.function.ObjLongConsumer;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-import jakarta.faces.FacesException;
-import jakarta.faces.context.ExternalContext;
-import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFWebConfigParam;
-
-public class PropertyDescriptorUtils
-{
-    private static final Logger LOG = Logger.getLogger(PropertyDescriptorUtils.class.getName());
-
-    /**
-     * Defines if Lambda expressions (via LambdaMetafactory) are used for getter/setter instead of Reflection.
-     */
-    @JSFWebConfigParam(since="2.3-next", defaultValue="true", expectedValues="true,false", tags="performance")
-    public static final String USE_LAMBDA_METAFACTORY = "org.apache.myfaces.USE_LAMBDA_METAFACTORY";
-
-    private static final String CACHE_KEY = PropertyDescriptorUtils.class.getName() + ".CACHE";
-
-    private static Method privateLookupIn;
-
-    static
-    {
-        try
-        {
-            privateLookupIn = MethodHandles.class.getMethod("privateLookupIn", Class.class,
-                    MethodHandles.Lookup.class);
-        }
-        catch (Exception e)
-        {
-        }
-    }
-    
-    private static Map<String, Map<String, ? extends PropertyDescriptorWrapper>> getCache(ExternalContext ec)
-    {
-        Map<String, Map<String, ? extends PropertyDescriptorWrapper>> cache = 
-                (Map<String, Map<String, ? extends PropertyDescriptorWrapper>>) ec.getApplicationMap().get(CACHE_KEY);
-        if (cache == null)
-        {
-            cache = new ConcurrentHashMap<>(1000);
-            ec.getApplicationMap().put(CACHE_KEY, cache);
-        }
-
-        return cache;
-    }
-
-    public static Map<String, ? extends PropertyDescriptorWrapper> getCachedPropertyDescriptors(ExternalContext ec,
-            Class<?> target)
-    {
-        Map<String, ? extends PropertyDescriptorWrapper> cache = getCache(ec).get(target.getName());
-        if (cache == null)
-        {
-            cache = getCache(ec).computeIfAbsent(target.getName(), k -> getPropertyDescriptors(ec, target));
-        }
-
-        return cache;
-    }
-
-    public static boolean isUseLambdaMetafactory(ExternalContext ec)
-    {
-        if (privateLookupIn == null)
-        {
-            return false;
-        }
-        
-        // activated per default
-        String useMethodHandles = ec.getInitParameter(USE_LAMBDA_METAFACTORY);
-        return useMethodHandles == null || useMethodHandles.trim().isEmpty() || useMethodHandles.contains("true");
-    }
-
-    public static Map<String, ? extends PropertyDescriptorWrapper> getPropertyDescriptors(ExternalContext ec,
-            Class<?> target)
-    {
-        if (isUseLambdaMetafactory(ec))
-        {
-            try
-            {
-                return getLambdaPropertyDescriptors(target);
-            }
-            catch (IllegalAccessException e)
-            {
-                LOG.log(Level.FINEST, 
-                        "Could not generate LambdaPropertyDescriptor for "
-                                + target.getName() + ". Use PropertyDescriptor...");
-            }
-            catch (Throwable e)
-            {
-                LOG.log(Level.INFO, 
-                        "Could not generate LambdaPropertyDescriptor for "
-                                + target.getName() + ". Use PropertyDescriptor...",
-                        e);
-            }
-        }
-
-        try
-        {
-            PropertyDescriptor[] propertyDescriptors = Introspector.getBeanInfo(target).getPropertyDescriptors();
-            
-            Map<String, PropertyDescriptorWrapper> map = new ConcurrentHashMap<>(propertyDescriptors.length);
-
-            for (int i = 0; i < propertyDescriptors.length; i++)
-            {
-                PropertyDescriptor propertyDescriptor = propertyDescriptors[i];
-                Method readMethod = propertyDescriptor.getReadMethod();
-
-                map.put(propertyDescriptor.getName(),
-                        new PropertyDescriptorWrapper(target, propertyDescriptor, readMethod));
-            }
-
-            return map;
-        }
-        catch (IntrospectionException e)
-        {
-            throw new FacesException(e);
-        }
-    }
-    
-    public static LambdaPropertyDescriptor getLambdaPropertyDescriptor(Class<?> target, String name)
-    {
-        try
-        {
-            PropertyDescriptor[] propertyDescriptors = Introspector.getBeanInfo(target).getPropertyDescriptors();
-            if (propertyDescriptors == null || propertyDescriptors.length == 0)
-            {
-                return null;
-            }
-            
-            for (PropertyDescriptor pd : propertyDescriptors)
-            {
-                if (name.equals(pd.getName()))
-                {
-                    MethodHandles.Lookup lookup = (MethodHandles.Lookup) privateLookupIn.invoke(null, target,
-                            MethodHandles.lookup());
-                    return createLambdaPropertyDescriptor(target, pd, lookup);
-                }
-            }
-
-            throw new FacesException("Property \"" + name + "\" not found on \"" + target.getName() + "\"");
-        }
-        catch (Throwable e)
-        {
-            throw new FacesException(e);
-        }
-    }
-    
-  
-    public static LambdaPropertyDescriptor createLambdaPropertyDescriptor(Class<?> target, PropertyDescriptor pd,
-            MethodHandles.Lookup lookup) throws Throwable
-    {
-        LambdaPropertyDescriptor lpd = new LambdaPropertyDescriptor(target, pd);
-
-        Method readMethod = pd.getReadMethod();
-        if (readMethod != null)
-        {
-            MethodHandle handle = lookup.unreflect(readMethod);
-            CallSite callSite = LambdaMetafactory.metafactory(lookup,
-                    "apply",
-                    MethodType.methodType(Function.class),
-                    MethodType.methodType(Object.class, Object.class),
-                    handle,
-                    handle.type());
-            lpd.readFunction = (Function) callSite.getTarget().invokeExact();
-        }
-
-        Method writeMethod = pd.getWriteMethod();
-        if (writeMethod != null)
-        {
-            MethodHandle handle = lookup.unreflect(writeMethod);
-            lpd.writeFunction = createSetter(lookup, lpd, handle);
-        }
-
-        return lpd;
-    }
-    
-    public static Map<String, LambdaPropertyDescriptor> getLambdaPropertyDescriptors(Class<?> target) throws Throwable
-    {
-        PropertyDescriptor[] propertyDescriptors = Introspector.getBeanInfo(target).getPropertyDescriptors();
-        if (propertyDescriptors == null || propertyDescriptors.length == 0)
-        {
-            return Collections.emptyMap();
-        }
-
-        Map<String, LambdaPropertyDescriptor> properties = new ConcurrentHashMap<>(propertyDescriptors.length);
-
-        MethodHandles.Lookup lookup = (MethodHandles.Lookup)
-                privateLookupIn.invoke(null, target, MethodHandles.lookup());
-        for (PropertyDescriptor pd : Introspector.getBeanInfo(target).getPropertyDescriptors())
-        {
-            LambdaPropertyDescriptor lpd = createLambdaPropertyDescriptor(target, pd, lookup);
-            properties.put(pd.getName(), lpd);
-        }
-
-        return properties;
-    }
-
-    @SuppressWarnings("unchecked")
-    protected static BiConsumer createSetter(MethodHandles.Lookup lookup, LambdaPropertyDescriptor propertyInfo,
-            MethodHandle setterHandle)
-            throws LambdaConversionException, Throwable
-    {
-        Class<?> propertyType = propertyInfo.getPropertyType();
-        // special handling for primitives required, see https://dzone.com/articles/setters-method-handles-and-java-11
-        if (propertyType.isPrimitive())
-        {
-            if (propertyType == double.class)
-            {
-                ObjDoubleConsumer consumer = (ObjDoubleConsumer) createSetterCallSite(
-                        lookup, setterHandle, ObjDoubleConsumer.class, double.class).getTarget().invokeExact();
-                return (a, b) -> consumer.accept(a, (double) b);
-            }
-            else if (propertyType == int.class)
-            {
-                ObjIntConsumer consumer = (ObjIntConsumer) createSetterCallSite(
-                        lookup, setterHandle, ObjIntConsumer.class, int.class).getTarget().invokeExact();
-                return (a, b) -> consumer.accept(a, (int) b);
-            }
-            else if (propertyType == long.class)
-            {
-                ObjLongConsumer consumer = (ObjLongConsumer) createSetterCallSite(
-                        lookup, setterHandle, ObjLongConsumer.class, long.class).getTarget().invokeExact();
-                return (a, b) -> consumer.accept(a, (long) b);
-            }
-            else if (propertyType == float.class)
-            {
-                ObjFloatConsumer consumer = (ObjFloatConsumer) createSetterCallSite(
-                        lookup, setterHandle, ObjFloatConsumer.class, float.class).getTarget().invokeExact();
-                return (a, b) -> consumer.accept(a, (float) b);
-            }
-            else if (propertyType == byte.class)
-            {
-                ObjByteConsumer consumer = (ObjByteConsumer) createSetterCallSite(
-                        lookup, setterHandle, ObjByteConsumer.class, byte.class).getTarget().invokeExact();
-                return (a, b) -> consumer.accept(a, (byte) b);
-            }
-            else if (propertyType == char.class)
-            {
-                ObjCharConsumer consumer = (ObjCharConsumer) createSetterCallSite(
-                        lookup, setterHandle, ObjCharConsumer.class, char.class).getTarget().invokeExact();
-                return (a, b) -> consumer.accept(a, (char) b);
-            }
-            else if (propertyType == short.class)
-            {
-                ObjShortConsumer consumer = (ObjShortConsumer) createSetterCallSite(
-                        lookup, setterHandle, ObjShortConsumer.class, short.class).getTarget().invokeExact();
-                return (a, b) -> consumer.accept(a, (short) b);
-            }
-            else if (propertyType == boolean.class)
-            {
-                ObjBooleanConsumer consumer = (ObjBooleanConsumer) createSetterCallSite(
-                        lookup, setterHandle, ObjBooleanConsumer.class, boolean.class).getTarget().invokeExact();
-                return (a, b) -> consumer.accept(a, (boolean) b);
-            }
-            else
-            {
-                throw new RuntimeException("Type is not supported yet: " + propertyType.getName());
-            }
-        }
-        else
-        {
-            return (BiConsumer) createSetterCallSite(lookup, setterHandle, BiConsumer.class, Object.class).getTarget()
-                    .invokeExact();
-        }
-    }
-
-    protected static CallSite createSetterCallSite(MethodHandles.Lookup lookup, MethodHandle setter,
-            Class<?> interfaceType, Class<?> valueType)
-            throws LambdaConversionException
-    {
-        return LambdaMetafactory.metafactory(lookup,
-                "accept",
-                MethodType.methodType(interfaceType),
-                MethodType.methodType(void.class, Object.class, valueType),
-                setter,
-                setter.type());
-    }
-
-    @FunctionalInterface
-    public interface ObjFloatConsumer<T extends Object>
-    {
-        public void accept(T t, float i);
-    }
-
-    @FunctionalInterface
-    public interface ObjByteConsumer<T extends Object>
-    {
-        public void accept(T t, byte i);
-    }
-
-    @FunctionalInterface
-    public interface ObjCharConsumer<T extends Object>
-    {
-        public void accept(T t, char i);
-    }
-
-    @FunctionalInterface
-    public interface ObjShortConsumer<T extends Object>
-    {
-        public void accept(T t, short i);
-    }
-
-    @FunctionalInterface
-    public interface ObjBooleanConsumer<T extends Object>
-    {
-        public void accept(T t, boolean i);
-    }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.myfaces.core.api.shared.lang;
+
+import java.beans.IntrospectionException;
+import java.beans.Introspector;
+import java.beans.PropertyDescriptor;
+import java.lang.invoke.CallSite;
+import java.lang.invoke.LambdaConversionException;
+import java.lang.invoke.LambdaMetafactory;
+import java.lang.invoke.MethodHandle;
+import java.lang.invoke.MethodHandles;
+import java.lang.invoke.MethodType;
+import java.lang.reflect.Method;
+import java.util.Collections;
+import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
+import java.util.function.BiConsumer;
+import java.util.function.Function;
+import java.util.function.ObjDoubleConsumer;
+import java.util.function.ObjIntConsumer;
+import java.util.function.ObjLongConsumer;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+import jakarta.faces.FacesException;
+import jakarta.faces.context.ExternalContext;
+import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFWebConfigParam;
+
+public class PropertyDescriptorUtils
+{
+    private static final Logger LOG = Logger.getLogger(PropertyDescriptorUtils.class.getName());
+
+    /**
+     * Defines if Lambda expressions (via LambdaMetafactory) are used for getter/setter instead of Reflection.
+     */
+    @JSFWebConfigParam(since="2.3-next", defaultValue="true", expectedValues="true,false", tags="performance")
+    public static final String USE_LAMBDA_METAFACTORY = "org.apache.myfaces.USE_LAMBDA_METAFACTORY";
+
+    private static final String CACHE_KEY = PropertyDescriptorUtils.class.getName() + ".CACHE";
+
+    private static Method privateLookupIn;
+
+    static
+    {
+        try
+        {
+            privateLookupIn = MethodHandles.class.getMethod("privateLookupIn", Class.class,
+                    MethodHandles.Lookup.class);
+        }
+        catch (Exception e)
+        {
+        }
+    }
+    
+    private static Map<String, Map<String, ? extends PropertyDescriptorWrapper>> getCache(ExternalContext ec)
+    {
+        Map<String, Map<String, ? extends PropertyDescriptorWrapper>> cache = 
+                (Map<String, Map<String, ? extends PropertyDescriptorWrapper>>) ec.getApplicationMap().get(CACHE_KEY);
+        if (cache == null)
+        {
+            cache = new ConcurrentHashMap<>(1000);
+            ec.getApplicationMap().put(CACHE_KEY, cache);
+        }
+
+        return cache;
+    }
+
+    public static Map<String, ? extends PropertyDescriptorWrapper> getCachedPropertyDescriptors(ExternalContext ec,
+            Class<?> target)
+    {
+        Map<String, ? extends PropertyDescriptorWrapper> cache = getCache(ec).get(target.getName());
+        if (cache == null)
+        {
+            cache = getCache(ec).computeIfAbsent(target.getName(), k -> getPropertyDescriptors(ec, target));
+        }
+
+        return cache;
+    }
+
+    public static boolean isUseLambdaMetafactory(ExternalContext ec)
+    {
+        if (privateLookupIn == null)
+        {
+            return false;
+        }
+        
+        // activated per default
+        String useMethodHandles = ec.getInitParameter(USE_LAMBDA_METAFACTORY);
+        return useMethodHandles == null || useMethodHandles.trim().isEmpty() || useMethodHandles.contains("true");
+    }
+
+    public static Map<String, ? extends PropertyDescriptorWrapper> getPropertyDescriptors(ExternalContext ec,
+            Class<?> target)
+    {
+        if (isUseLambdaMetafactory(ec))
+        {
+            try
+            {
+                return getLambdaPropertyDescriptors(target);
+            }
+            catch (IllegalAccessException e)
+            {
+                LOG.log(Level.FINEST, 
+                        "Could not generate LambdaPropertyDescriptor for "
+                                + target.getName() + ". Use PropertyDescriptor...");
+            }
+            catch (Throwable e)
+            {
+                LOG.log(Level.INFO, 
+                        "Could not generate LambdaPropertyDescriptor for "
+                                + target.getName() + ". Use PropertyDescriptor...",
+                        e);
+            }
+        }
+
+        try
+        {
+            PropertyDescriptor[] propertyDescriptors = Introspector.getBeanInfo(target).getPropertyDescriptors();
+            
+            Map<String, PropertyDescriptorWrapper> map = new ConcurrentHashMap<>(propertyDescriptors.length);
+
+            for (int i = 0; i < propertyDescriptors.length; i++)
+            {
+                PropertyDescriptor propertyDescriptor = propertyDescriptors[i];
+                Method readMethod = propertyDescriptor.getReadMethod();
+
+                map.put(propertyDescriptor.getName(),
+                        new PropertyDescriptorWrapper(target, propertyDescriptor, readMethod));
+            }
+
+            return map;
+        }
+        catch (IntrospectionException e)
+        {
+            throw new FacesException(e);
+        }
+    }
+    
+    public static LambdaPropertyDescriptor getLambdaPropertyDescriptor(Class<?> target, String name)
+    {
+        try
+        {
+            PropertyDescriptor[] propertyDescriptors = Introspector.getBeanInfo(target).getPropertyDescriptors();
+            if (propertyDescriptors == null || propertyDescriptors.length == 0)
+            {
+                return null;
+            }
+            
+            for (PropertyDescriptor pd : propertyDescriptors)
+            {
+                if (name.equals(pd.getName()))
+                {
+                    MethodHandles.Lookup lookup = (MethodHandles.Lookup) privateLookupIn.invoke(null, target,
+                            MethodHandles.lookup());
+                    return createLambdaPropertyDescriptor(target, pd, lookup);
+                }
+            }
+
+            throw new FacesException("Property \"" + name + "\" not found on \"" + target.getName() + "\"");
+        }
+        catch (Throwable e)
+        {
+            throw new FacesException(e);
+        }
+    }
+    
+  
+    public static LambdaPropertyDescriptor createLambdaPropertyDescriptor(Class<?> target, PropertyDescriptor pd,
+            MethodHandles.Lookup lookup) throws Throwable
+    {
+        LambdaPropertyDescriptor lpd = new LambdaPropertyDescriptor(target, pd);
+
+        Method readMethod = pd.getReadMethod();
+        if (readMethod != null)
+        {
+            MethodHandle handle = lookup.unreflect(readMethod);
+            CallSite callSite = LambdaMetafactory.metafactory(lookup,
+                    "apply",
+                    MethodType.methodType(Function.class),
+                    MethodType.methodType(Object.class, Object.class),
+                    handle,
+                    handle.type());
+            lpd.readFunction = (Function) callSite.getTarget().invokeExact();
+        }
+
+        Method writeMethod = pd.getWriteMethod();
+        if (writeMethod != null)
+        {
+            MethodHandle handle = lookup.unreflect(writeMethod);
+            lpd.writeFunction = createSetter(lookup, lpd, handle);
+        }
+
+        return lpd;
+    }
+    
+    public static Map<String, LambdaPropertyDescriptor> getLambdaPropertyDescriptors(Class<?> target) throws Throwable
+    {
+        PropertyDescriptor[] propertyDescriptors = Introspector.getBeanInfo(target).getPropertyDescriptors();
+        if (propertyDescriptors == null || propertyDescriptors.length == 0)
+        {
+            return Collections.emptyMap();
+        }
+
+        Map<String, LambdaPropertyDescriptor> properties = new ConcurrentHashMap<>(propertyDescriptors.length);
+
+        MethodHandles.Lookup lookup = (MethodHandles.Lookup)
+                privateLookupIn.invoke(null, target, MethodHandles.lookup());
+        for (PropertyDescriptor pd : Introspector.getBeanInfo(target).getPropertyDescriptors())
+        {
+            LambdaPropertyDescriptor lpd = createLambdaPropertyDescriptor(target, pd, lookup);
+            properties.put(pd.getName(), lpd);
+        }
+
+        return properties;
+    }
+
+    @SuppressWarnings("unchecked")
+    protected static BiConsumer createSetter(MethodHandles.Lookup lookup, LambdaPropertyDescriptor propertyInfo,
+            MethodHandle setterHandle)
+            throws LambdaConversionException, Throwable
+    {
+        Class<?> propertyType = propertyInfo.getPropertyType();
+        // special handling for primitives required, see https://dzone.com/articles/setters-method-handles-and-java-11
+        if (propertyType.isPrimitive())
+        {
+            if (propertyType == double.class)
+            {
+                ObjDoubleConsumer consumer = (ObjDoubleConsumer) createSetterCallSite(
+                        lookup, setterHandle, ObjDoubleConsumer.class, double.class).getTarget().invokeExact();
+                return (a, b) -> consumer.accept(a, (double) b);
+            }
+            else if (propertyType == int.class)
+            {
+                ObjIntConsumer consumer = (ObjIntConsumer) createSetterCallSite(
+                        lookup, setterHandle, ObjIntConsumer.class, int.class).getTarget().invokeExact();
+                return (a, b) -> consumer.accept(a, (int) b);
+            }
+            else if (propertyType == long.class)
+            {
+                ObjLongConsumer consumer = (ObjLongConsumer) createSetterCallSite(
+                        lookup, setterHandle, ObjLongConsumer.class, long.class).getTarget().invokeExact();
+                return (a, b) -> consumer.accept(a, (long) b);
+            }
+            else if (propertyType == float.class)
+            {
+                ObjFloatConsumer consumer = (ObjFloatConsumer) createSetterCallSite(
+                        lookup, setterHandle, ObjFloatConsumer.class, float.class).getTarget().invokeExact();
+                return (a, b) -> consumer.accept(a, (float) b);
+            }
+            else if (propertyType == byte.class)
+            {
+                ObjByteConsumer consumer = (ObjByteConsumer) createSetterCallSite(
+                        lookup, setterHandle, ObjByteConsumer.class, byte.class).getTarget().invokeExact();
+                return (a, b) -> consumer.accept(a, (byte) b);
+            }
+            else if (propertyType == char.class)
+            {
+                ObjCharConsumer consumer = (ObjCharConsumer) createSetterCallSite(
+                        lookup, setterHandle, ObjCharConsumer.class, char.class).getTarget().invokeExact();
+                return (a, b) -> consumer.accept(a, (char) b);
+            }
+            else if (propertyType == short.class)
+            {
+                ObjShortConsumer consumer = (ObjShortConsumer) createSetterCallSite(
+                        lookup, setterHandle, ObjShortConsumer.class, short.class).getTarget().invokeExact();
+                return (a, b) -> consumer.accept(a, (short) b);
+            }
+            else if (propertyType == boolean.class)
+            {
+                ObjBooleanConsumer consumer = (ObjBooleanConsumer) createSetterCallSite(
+                        lookup, setterHandle, ObjBooleanConsumer.class, boolean.class).getTarget().invokeExact();
+                return (a, b) -> consumer.accept(a, (boolean) b);
+            }
+            else
+            {
+                throw new RuntimeException("Type is not supported yet: " + propertyType.getName());
+            }
+        }
+        else
+        {
+            return (BiConsumer) createSetterCallSite(lookup, setterHandle, BiConsumer.class, Object.class).getTarget()
+                    .invokeExact();
+        }
+    }
+
+    protected static CallSite createSetterCallSite(MethodHandles.Lookup lookup, MethodHandle setter,
+            Class<?> interfaceType, Class<?> valueType)
+            throws LambdaConversionException
+    {
+        return LambdaMetafactory.metafactory(lookup,
+                "accept",
+                MethodType.methodType(interfaceType),
+                MethodType.methodType(void.class, Object.class, valueType),
+                setter,
+                setter.type());
+    }
+
+    @FunctionalInterface
+    public interface ObjFloatConsumer<T extends Object>
+    {
+        public void accept(T t, float i);
+    }
+
+    @FunctionalInterface
+    public interface ObjByteConsumer<T extends Object>
+    {
+        public void accept(T t, byte i);
+    }
+
+    @FunctionalInterface
+    public interface ObjCharConsumer<T extends Object>
+    {
+        public void accept(T t, char i);
+    }
+
+    @FunctionalInterface
+    public interface ObjShortConsumer<T extends Object>
+    {
+        public void accept(T t, short i);
+    }
+
+    @FunctionalInterface
+    public interface ObjBooleanConsumer<T extends Object>
+    {
+        public void accept(T t, boolean i);
+    }
+}
diff --git a/api/src/main/java/org/apache/myfaces/core/api/shared/lang/PropertyDescriptorWrapper.java b/api/src/main/java/org/apache/myfaces/core/api/shared/lang/PropertyDescriptorWrapper.java
index 96da65f..fe81936 100644
--- a/api/src/main/java/org/apache/myfaces/core/api/shared/lang/PropertyDescriptorWrapper.java
+++ b/api/src/main/java/org/apache/myfaces/core/api/shared/lang/PropertyDescriptorWrapper.java
@@ -1,86 +1,86 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.myfaces.core.api.shared.lang;
-
-import java.beans.PropertyDescriptor;
-import java.lang.ref.Reference;
-import java.lang.ref.SoftReference;
-import java.lang.reflect.Method;
-import jakarta.faces.FacesWrapper;
-
-public class PropertyDescriptorWrapper implements FacesWrapper<PropertyDescriptor>
-{
-    private final PropertyDescriptor wrapped;
-    private Reference<Method> readMethodRef;
-    private Reference<Method> writeMethodRef;
-
-    public PropertyDescriptorWrapper(Class<?> beanClass, PropertyDescriptor wrapped)
-    {
-        this.wrapped = wrapped;
-        this.readMethodRef = new SoftReference<>(wrapped.getReadMethod());
-    }
-
-    public PropertyDescriptorWrapper(Class<?> beanClass, PropertyDescriptor wrapped, Method readMethod)
-    {
-        this.wrapped = wrapped;
-        this.readMethodRef = new SoftReference<>(readMethod);
-    }
-
-    public Class<?> getPropertyType()
-    {
-        return wrapped.getPropertyType();
-    }    
-    
-    public String getName()
-    {
-        return wrapped.getName();
-    }
-    
-    @Override
-    public PropertyDescriptor getWrapped()
-    {
-        return wrapped;
-    }
-
-    public Method getReadMethod()
-    {
-        Method readMethod = readMethodRef.get();
-        if (readMethod == null)
-        {
-            readMethod = wrapped.getReadMethod();
-            readMethodRef = new SoftReference<>(readMethod);
-        }
-        return readMethod;
-    }
-
-    public Method getWriteMethod()
-    {
-        if (writeMethodRef == null || writeMethodRef.get() == null)
-        {
-            // In facelets, the Method instance used to write the variable is stored
-            // in a variable (see org.apache.myfaces.view.facelets.tag.BeanPropertyTagRule),
-            // so the impact of this synchronized call at the end is minimal compared with 
-            // getReadMethod. That's the reason why cache it here in a lazy way is enough
-            // instead retrieve it as soon as this holder is created.
-            Method writeMethod = wrapped.getWriteMethod();
-            writeMethodRef = new SoftReference<>(writeMethod);
-        }
-        return writeMethodRef.get();
-    }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.myfaces.core.api.shared.lang;
+
+import java.beans.PropertyDescriptor;
+import java.lang.ref.Reference;
+import java.lang.ref.SoftReference;
+import java.lang.reflect.Method;
+import jakarta.faces.FacesWrapper;
+
+public class PropertyDescriptorWrapper implements FacesWrapper<PropertyDescriptor>
+{
+    private final PropertyDescriptor wrapped;
+    private Reference<Method> readMethodRef;
+    private Reference<Method> writeMethodRef;
+
+    public PropertyDescriptorWrapper(Class<?> beanClass, PropertyDescriptor wrapped)
+    {
+        this.wrapped = wrapped;
+        this.readMethodRef = new SoftReference<>(wrapped.getReadMethod());
+    }
+
+    public PropertyDescriptorWrapper(Class<?> beanClass, PropertyDescriptor wrapped, Method readMethod)
+    {
+        this.wrapped = wrapped;
+        this.readMethodRef = new SoftReference<>(readMethod);
+    }
+
+    public Class<?> getPropertyType()
+    {
+        return wrapped.getPropertyType();
+    }    
+    
+    public String getName()
+    {
+        return wrapped.getName();
+    }
+    
+    @Override
+    public PropertyDescriptor getWrapped()
+    {
+        return wrapped;
+    }
+
+    public Method getReadMethod()
+    {
+        Method readMethod = readMethodRef.get();
+        if (readMethod == null)
+        {
+            readMethod = wrapped.getReadMethod();
+            readMethodRef = new SoftReference<>(readMethod);
+        }
+        return readMethod;
+    }
+
+    public Method getWriteMethod()
+    {
+        if (writeMethodRef == null || writeMethodRef.get() == null)
+        {
+            // In facelets, the Method instance used to write the variable is stored
+            // in a variable (see org.apache.myfaces.view.facelets.tag.BeanPropertyTagRule),
+            // so the impact of this synchronized call at the end is minimal compared with 
+            // getReadMethod. That's the reason why cache it here in a lazy way is enough
+            // instead retrieve it as soon as this holder is created.
+            Method writeMethod = wrapped.getWriteMethod();
+            writeMethodRef = new SoftReference<>(writeMethod);
+        }
+        return writeMethodRef.get();
+    }
+}
diff --git a/extensions/quarkus/deployment/src/main/java/org/apache/myfaces/core/extensions/quarkus/deployment/ManagedPropertyBuildStep.java b/extensions/quarkus/deployment/src/main/java/org/apache/myfaces/core/extensions/quarkus/deployment/ManagedPropertyBuildStep.java
index d671d34..9ce6149 100644
--- a/extensions/quarkus/deployment/src/main/java/org/apache/myfaces/core/extensions/quarkus/deployment/ManagedPropertyBuildStep.java
+++ b/extensions/quarkus/deployment/src/main/java/org/apache/myfaces/core/extensions/quarkus/deployment/ManagedPropertyBuildStep.java
@@ -1,77 +1,77 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.myfaces.core.extensions.quarkus.deployment;
-
-import java.util.UUID;
-
-import jakarta.faces.annotation.ManagedProperty;
-
-import org.jboss.jandex.AnnotationInstance;
-import org.jboss.jandex.AnnotationValue;
-import org.jboss.jandex.DotName;
-import org.jboss.jandex.Type;
-
-import io.quarkus.arc.deployment.BeanRegistrationPhaseBuildItem;
-import io.quarkus.arc.processor.BuildExtension;
-import io.quarkus.arc.processor.BuiltinScope;
-import io.quarkus.arc.processor.InjectionPointInfo;
-import io.quarkus.deployment.annotations.BuildProducer;
-import org.apache.myfaces.core.extensions.quarkus.runtime.producer.ManagedPropertyBeanCreator;
-
-public class ManagedPropertyBuildStep
-{
-
-    public static void build(BeanRegistrationPhaseBuildItem beanRegistrationPhase,
-            BuildProducer<BeanRegistrationPhaseBuildItem.BeanConfiguratorBuildItem> beanConfigurators)
-    {
-        for (InjectionPointInfo injectionPoint : beanRegistrationPhase.getContext()
-                .get(BuildExtension.Key.INJECTION_POINTS))
-        {
-            if (injectionPoint.hasDefaultedQualifier())
-            {
-                // Defaulted qualifier means no @ManagedProperty
-                continue;
-            }
-
-            AnnotationInstance managedProperty = injectionPoint.getRequiredQualifier(
-                    DotName.createSimple(ManagedProperty.class.getName()));
-            if (managedProperty != null)
-            {
-                AnnotationValue value = managedProperty.value("value");
-                if (value == null)
-                {
-                    continue;
-                }
-
-                Type requiredType = injectionPoint.getRequiredType();
-
-                beanConfigurators.produce(new BeanRegistrationPhaseBuildItem.BeanConfiguratorBuildItem(
-                        beanRegistrationPhase.getContext()
-                                .configure(requiredType.name())
-                                .qualifiers(managedProperty)
-                                .scope(BuiltinScope.DEPENDENT.getInfo())
-                                .types(requiredType)
-                                .creator(ManagedPropertyBeanCreator.class)
-                                .name(UUID.randomUUID().toString().replace("-", ""))
-                                .defaultBean()
-                                .param(ManagedPropertyBeanCreator.EXPRESSION, value.asString())));
-            }
-        }
-    }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.myfaces.core.extensions.quarkus.deployment;
+
+import java.util.UUID;
+
+import jakarta.faces.annotation.ManagedProperty;
+
+import org.jboss.jandex.AnnotationInstance;
+import org.jboss.jandex.AnnotationValue;
+import org.jboss.jandex.DotName;
+import org.jboss.jandex.Type;
+
+import io.quarkus.arc.deployment.BeanRegistrationPhaseBuildItem;
+import io.quarkus.arc.processor.BuildExtension;
+import io.quarkus.arc.processor.BuiltinScope;
+import io.quarkus.arc.processor.InjectionPointInfo;
+import io.quarkus.deployment.annotations.BuildProducer;
+import org.apache.myfaces.core.extensions.quarkus.runtime.producer.ManagedPropertyBeanCreator;
+
+public class ManagedPropertyBuildStep
+{
+
+    public static void build(BeanRegistrationPhaseBuildItem beanRegistrationPhase,
+            BuildProducer<BeanRegistrationPhaseBuildItem.BeanConfiguratorBuildItem> beanConfigurators)
+    {
+        for (InjectionPointInfo injectionPoint : beanRegistrationPhase.getContext()
+                .get(BuildExtension.Key.INJECTION_POINTS))
+        {
+            if (injectionPoint.hasDefaultedQualifier())
+            {
+                // Defaulted qualifier means no @ManagedProperty
+                continue;
+            }
+
+            AnnotationInstance managedProperty = injectionPoint.getRequiredQualifier(
+                    DotName.createSimple(ManagedProperty.class.getName()));
+            if (managedProperty != null)
+            {
+                AnnotationValue value = managedProperty.value("value");
+                if (value == null)
+                {
+                    continue;
+                }
+
+                Type requiredType = injectionPoint.getRequiredType();
+
+                beanConfigurators.produce(new BeanRegistrationPhaseBuildItem.BeanConfiguratorBuildItem(
+                        beanRegistrationPhase.getContext()
+                                .configure(requiredType.name())
+                                .qualifiers(managedProperty)
+                                .scope(BuiltinScope.DEPENDENT.getInfo())
+                                .types(requiredType)
+                                .creator(ManagedPropertyBeanCreator.class)
+                                .name(UUID.randomUUID().toString().replace("-", ""))
+                                .defaultBean()
+                                .param(ManagedPropertyBeanCreator.EXPRESSION, value.asString())));
+            }
+        }
+    }
+}
diff --git a/extensions/quarkus/runtime/src/main/java/org/apache/myfaces/core/extensions/quarkus/runtime/MyFacesRecorder.java b/extensions/quarkus/runtime/src/main/java/org/apache/myfaces/core/extensions/quarkus/runtime/MyFacesRecorder.java
index eb3bba8..273325b 100644
--- a/extensions/quarkus/runtime/src/main/java/org/apache/myfaces/core/extensions/quarkus/runtime/MyFacesRecorder.java
+++ b/extensions/quarkus/runtime/src/main/java/org/apache/myfaces/core/extensions/quarkus/runtime/MyFacesRecorder.java
@@ -1,68 +1,68 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.myfaces.core.extensions.quarkus.runtime;
-
-import java.lang.annotation.Annotation;
-import java.util.HashSet;
-import java.util.LinkedHashMap;
-import java.util.Map;
-import java.util.Set;
-import java.util.concurrent.ConcurrentHashMap;
-
-import jakarta.faces.model.DataModel;
-
-import org.apache.myfaces.flow.FlowReference;
-import org.apache.myfaces.util.lang.ClassUtils;
-
-import io.quarkus.runtime.annotations.Recorder;
-
-@Recorder
-public class MyFacesRecorder
-{
-    public static final Map<Class<? extends Annotation>, Set<Class<?>>> ANNOTATED_CLASSES = new LinkedHashMap<>();
-    public static final Map<Class<? extends DataModel>, Class<?>> FACES_DATA_MODELS = new LinkedHashMap<>();
-    public static final Map<Class, FlowReference> FLOW_REFERENCES = new ConcurrentHashMap<Class, FlowReference>();
-
-    @SuppressWarnings("unchecked") //cast to (Class<? extends Annotation>)
-    public void registerAnnotatedClass(String annotationName, String clazzName)
-    {
-        Class<? extends Annotation> annotation =
-                (Class<? extends Annotation>) ClassUtils.simpleClassForName(annotationName);
-        Class<?> clazz = ClassUtils.simpleClassForName(clazzName);
-
-        Set<Class<?>> classes = ANNOTATED_CLASSES.computeIfAbsent(annotation, $ -> new HashSet<>());
-        classes.add(clazz);
-    }
-
-    @SuppressWarnings("unchecked") //cast to (Class<? extends DataModel>)
-    public void registerFacesDataModel(String clazzName, String forClassName)
-    {
-        Class<? extends DataModel> clazz = ClassUtils.simpleClassForName(clazzName);
-        Class<?> forClass = ClassUtils.simpleClassForName(forClassName);
-
-        FACES_DATA_MODELS.put(clazz, forClass);
-    }
-
-    public void registerFlowReference(String clazzName, String definingDocumentId, String flowId)
-    {
-        Class<?> clazz = ClassUtils.simpleClassForName(clazzName);
-
-        FLOW_REFERENCES.put(clazz, new FlowReference(definingDocumentId, flowId));
-    }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.myfaces.core.extensions.quarkus.runtime;
+
+import java.lang.annotation.Annotation;
+import java.util.HashSet;
+import java.util.LinkedHashMap;
+import java.util.Map;
+import java.util.Set;
+import java.util.concurrent.ConcurrentHashMap;
+
+import jakarta.faces.model.DataModel;
+
+import org.apache.myfaces.flow.FlowReference;
+import org.apache.myfaces.util.lang.ClassUtils;
+
+import io.quarkus.runtime.annotations.Recorder;
+
+@Recorder
+public class MyFacesRecorder
+{
+    public static final Map<Class<? extends Annotation>, Set<Class<?>>> ANNOTATED_CLASSES = new LinkedHashMap<>();
+    public static final Map<Class<? extends DataModel>, Class<?>> FACES_DATA_MODELS = new LinkedHashMap<>();
+    public static final Map<Class, FlowReference> FLOW_REFERENCES = new ConcurrentHashMap<Class, FlowReference>();
+
+    @SuppressWarnings("unchecked") //cast to (Class<? extends Annotation>)
+    public void registerAnnotatedClass(String annotationName, String clazzName)
+    {
+        Class<? extends Annotation> annotation =
+                (Class<? extends Annotation>) ClassUtils.simpleClassForName(annotationName);
+        Class<?> clazz = ClassUtils.simpleClassForName(clazzName);
+
+        Set<Class<?>> classes = ANNOTATED_CLASSES.computeIfAbsent(annotation, $ -> new HashSet<>());
+        classes.add(clazz);
+    }
+
+    @SuppressWarnings("unchecked") //cast to (Class<? extends DataModel>)
+    public void registerFacesDataModel(String clazzName, String forClassName)
+    {
+        Class<? extends DataModel> clazz = ClassUtils.simpleClassForName(clazzName);
+        Class<?> forClass = ClassUtils.simpleClassForName(forClassName);
+
+        FACES_DATA_MODELS.put(clazz, forClass);
+    }
+
+    public void registerFlowReference(String clazzName, String definingDocumentId, String flowId)
+    {
+        Class<?> clazz = ClassUtils.simpleClassForName(clazzName);
+
+        FLOW_REFERENCES.put(clazz, new FlowReference(definingDocumentId, flowId));
+    }
+}
diff --git a/extensions/quarkus/runtime/src/main/java/org/apache/myfaces/core/extensions/quarkus/runtime/QuarkusFacesInitilializer.java b/extensions/quarkus/runtime/src/main/java/org/apache/myfaces/core/extensions/quarkus/runtime/QuarkusFacesInitilializer.java
index a4e3481..159ba36 100644
--- a/extensions/quarkus/runtime/src/main/java/org/apache/myfaces/core/extensions/quarkus/runtime/QuarkusFacesInitilializer.java
+++ b/extensions/quarkus/runtime/src/main/java/org/apache/myfaces/core/extensions/quarkus/runtime/QuarkusFacesInitilializer.java
@@ -1,60 +1,60 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.myfaces.core.extensions.quarkus.runtime;
-
-import java.util.Map;
-
-import javax.enterprise.inject.spi.CDI;
-import jakarta.faces.annotation.FacesConfig;
-import jakarta.faces.model.DataModel;
-import javax.servlet.ServletContext;
-
-import org.apache.myfaces.cdi.config.FacesConfigBeanHolder;
-import org.apache.myfaces.cdi.model.FacesDataModelManager;
-import org.apache.myfaces.spi.FactoryFinderProviderFactory;
-import org.apache.myfaces.webapp.DefaultFacesInitilializer;
-
-import org.apache.myfaces.core.extensions.quarkus.runtime.spi.QuarkusFactoryFinderProviderFactory;
-
-/**
- * Custom FacesInitializer to execute our integration code, always before MyFaces starts.
- * With ServletListeners or other ways, we would have order/priority problems.
- */
-public class QuarkusFacesInitilializer extends DefaultFacesInitilializer
-{
-
-    @Override
-    public void initFaces(ServletContext servletContext)
-    {
-        FacesConfigBeanHolder facesConfigBeanHolder = CDI.current().select(FacesConfigBeanHolder.class).get();
-        facesConfigBeanHolder.setFacesConfigVersion(FacesConfig.Version.JSF_2_3);
-
-        FactoryFinderProviderFactory.setInstance(new QuarkusFactoryFinderProviderFactory());
-
-        // see FacesDataModelExtension
-        FacesDataModelManager facesDataModelManager = CDI.current().select(FacesDataModelManager.class).get();
-        for (Map.Entry<Class<? extends DataModel>, Class<?>> typeInfo : MyFacesRecorder.FACES_DATA_MODELS.entrySet())
-        {
-            facesDataModelManager.addFacesDataModel(typeInfo.getValue(), typeInfo.getKey());
-        }
-        facesDataModelManager.init();
-
-        super.initFaces(servletContext);
-    }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.myfaces.core.extensions.quarkus.runtime;
+
+import java.util.Map;
+
+import javax.enterprise.inject.spi.CDI;
+import jakarta.faces.annotation.FacesConfig;
+import jakarta.faces.model.DataModel;
+import javax.servlet.ServletContext;
+
+import org.apache.myfaces.cdi.config.FacesConfigBeanHolder;
+import org.apache.myfaces.cdi.model.FacesDataModelManager;
+import org.apache.myfaces.spi.FactoryFinderProviderFactory;
+import org.apache.myfaces.webapp.DefaultFacesInitilializer;
+
+import org.apache.myfaces.core.extensions.quarkus.runtime.spi.QuarkusFactoryFinderProviderFactory;
+
+/**
+ * Custom FacesInitializer to execute our integration code, always before MyFaces starts.
+ * With ServletListeners or other ways, we would have order/priority problems.
+ */
+public class QuarkusFacesInitilializer extends DefaultFacesInitilializer
+{
+
+    @Override
+    public void initFaces(ServletContext servletContext)
+    {
+        FacesConfigBeanHolder facesConfigBeanHolder = CDI.current().select(FacesConfigBeanHolder.class).get();
+        facesConfigBeanHolder.setFacesConfigVersion(FacesConfig.Version.JSF_2_3);
+
+        FactoryFinderProviderFactory.setInstance(new QuarkusFactoryFinderProviderFactory());
+
+        // see FacesDataModelExtension
+        FacesDataModelManager facesDataModelManager = CDI.current().select(FacesDataModelManager.class).get();
+        for (Map.Entry<Class<? extends DataModel>, Class<?>> typeInfo : MyFacesRecorder.FACES_DATA_MODELS.entrySet())
+        {
+            facesDataModelManager.addFacesDataModel(typeInfo.getValue(), typeInfo.getKey());
+        }
+        facesDataModelManager.init();
+
+        super.initFaces(servletContext);
+    }
+}
diff --git a/extensions/quarkus/runtime/src/main/java/org/apache/myfaces/core/extensions/quarkus/runtime/application/QuarkusApplication.java b/extensions/quarkus/runtime/src/main/java/org/apache/myfaces/core/extensions/quarkus/runtime/application/QuarkusApplication.java
index f8de75f..3f6ac70 100644
--- a/extensions/quarkus/runtime/src/main/java/org/apache/myfaces/core/extensions/quarkus/runtime/application/QuarkusApplication.java
+++ b/extensions/quarkus/runtime/src/main/java/org/apache/myfaces/core/extensions/quarkus/runtime/application/QuarkusApplication.java
@@ -1,59 +1,59 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.myfaces.core.extensions.quarkus.runtime.application;
-
-import javax.el.CompositeELResolver;
-import javax.el.ELResolver;
-import jakarta.faces.application.Application;
-import jakarta.faces.application.ApplicationWrapper;
-import jakarta.faces.context.FacesContext;
-
-import org.apache.myfaces.config.MyfacesConfig;
-import org.apache.myfaces.config.RuntimeConfig;
-
-import org.apache.myfaces.core.extensions.quarkus.runtime.spi.QuarkusELResolverBuilder;
-
-public class QuarkusApplication extends ApplicationWrapper
-{
-    private CompositeELResolver elResolver;
-
-    private final RuntimeConfig runtimeConfig;
-    private final MyfacesConfig myfacesConfig;
-
-    public QuarkusApplication(Application delegate)
-    {
-        super(delegate);
-
-        runtimeConfig = RuntimeConfig.getCurrentInstance(FacesContext.getCurrentInstance());
-        myfacesConfig = MyfacesConfig.getCurrentInstance(FacesContext.getCurrentInstance());
-    }
-
-    @Override
-    public final ELResolver getELResolver()
-    {
-        if (elResolver == null)
-        {
-            elResolver = new CompositeELResolver();
-            new QuarkusELResolverBuilder(runtimeConfig, myfacesConfig).build(elResolver);
-        }
-
-        return elResolver;
-    }
-
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.myfaces.core.extensions.quarkus.runtime.application;
+
+import javax.el.CompositeELResolver;
+import javax.el.ELResolver;
+import jakarta.faces.application.Application;
+import jakarta.faces.application.ApplicationWrapper;
+import jakarta.faces.context.FacesContext;
+
+import org.apache.myfaces.config.MyfacesConfig;
+import org.apache.myfaces.config.RuntimeConfig;
+
+import org.apache.myfaces.core.extensions.quarkus.runtime.spi.QuarkusELResolverBuilder;
+
+public class QuarkusApplication extends ApplicationWrapper
+{
+    private CompositeELResolver elResolver;
+
+    private final RuntimeConfig runtimeConfig;
+    private final MyfacesConfig myfacesConfig;
+
+    public QuarkusApplication(Application delegate)
+    {
+        super(delegate);
+
+        runtimeConfig = RuntimeConfig.getCurrentInstance(FacesContext.getCurrentInstance());
+        myfacesConfig = MyfacesConfig.getCurrentInstance(FacesContext.getCurrentInstance());
+    }
+
+    @Override
+    public final ELResolver getELResolver()
+    {
+        if (elResolver == null)
+        {
+            elResolver = new CompositeELResolver();
+            new QuarkusELResolverBuilder(runtimeConfig, myfacesConfig).build(elResolver);
+        }
+
+        return elResolver;
+    }
+
+}
diff --git a/extensions/quarkus/runtime/src/main/java/org/apache/myfaces/core/extensions/quarkus/runtime/application/QuarkusApplicationFactory.java b/extensions/quarkus/runtime/src/main/java/org/apache/myfaces/core/extensions/quarkus/runtime/application/QuarkusApplicationFactory.java
index 9125dad..9cb9b6d 100644
--- a/extensions/quarkus/runtime/src/main/java/org/apache/myfaces/core/extensions/quarkus/runtime/application/QuarkusApplicationFactory.java
+++ b/extensions/quarkus/runtime/src/main/java/org/apache/myfaces/core/extensions/quarkus/runtime/application/QuarkusApplicationFactory.java
@@ -1,50 +1,50 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.myfaces.core.extensions.quarkus.runtime.application;
-
-import jakarta.faces.application.Application;
-import jakarta.faces.application.ApplicationFactory;
-
-public class QuarkusApplicationFactory extends ApplicationFactory
-{
-    private Application application;
-
-    public QuarkusApplicationFactory(ApplicationFactory delegate)
-    {
-        super(delegate);
-    }
-
-    @Override
-    public Application getApplication()
-    {
-        if (application == null)
-        {
-            application = new QuarkusApplication(getWrapped().getApplication());
-        }
-
-        return application;
-    }
-
-    @Override
-    public void setApplication(Application application)
-    {
-        this.application = new QuarkusApplication(application);
-        getWrapped().setApplication(application);
-    }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.myfaces.core.extensions.quarkus.runtime.application;
+
+import jakarta.faces.application.Application;
+import jakarta.faces.application.ApplicationFactory;
+
+public class QuarkusApplicationFactory extends ApplicationFactory
+{
+    private Application application;
+
+    public QuarkusApplicationFactory(ApplicationFactory delegate)
+    {
+        super(delegate);
+    }
+
+    @Override
+    public Application getApplication()
+    {
+        if (application == null)
+        {
+            application = new QuarkusApplication(getWrapped().getApplication());
+        }
+
+        return application;
+    }
+
+    @Override
+    public void setApplication(Application application)
+    {
+        this.application = new QuarkusApplication(application);
+        getWrapped().setApplication(application);
+    }
+}
diff --git a/extensions/quarkus/runtime/src/main/java/org/apache/myfaces/core/extensions/quarkus/runtime/exception/QuarkusExceptionHandler.java b/extensions/quarkus/runtime/src/main/java/org/apache/myfaces/core/extensions/quarkus/runtime/exception/QuarkusExceptionHandler.java
index 0da08e1..2307beb 100644
--- a/extensions/quarkus/runtime/src/main/java/org/apache/myfaces/core/extensions/quarkus/runtime/exception/QuarkusExceptionHandler.java
+++ b/extensions/quarkus/runtime/src/main/java/org/apache/myfaces/core/extensions/quarkus/runtime/exception/QuarkusExceptionHandler.java
@@ -1,58 +1,58 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.myfaces.core.extensions.quarkus.runtime.exception;
-
-import java.util.Iterator;
-
-import jakarta.faces.FacesException;
-import jakarta.faces.application.ProjectStage;
-import jakarta.faces.context.ExceptionHandler;
-import jakarta.faces.context.ExceptionHandlerWrapper;
-import jakarta.faces.context.FacesContext;
-import jakarta.faces.event.ExceptionQueuedEvent;
-
-/**
- * Custom {@link ExceptionHandler} to log exceptions in development mode.
- */
-public class QuarkusExceptionHandler extends ExceptionHandlerWrapper
-{
-    public QuarkusExceptionHandler(ExceptionHandler wrapped)
-    {
-        super(wrapped);
-    }
-
-    @Override
-    public void handle() throws FacesException
-    {
-        FacesContext context = FacesContext.getCurrentInstance();
-
-        if (context.isProjectStage(ProjectStage.Development))
-        {
-            Iterator<ExceptionQueuedEvent> iterator = getUnhandledExceptionQueuedEvents().iterator();
-            while (iterator.hasNext())
-            {
-                ExceptionQueuedEvent event = iterator.next();
-
-                event.getContext().getException().printStackTrace();
-            }
-        }
-
-        getWrapped().handle();
-    }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.myfaces.core.extensions.quarkus.runtime.exception;
+
+import java.util.Iterator;
+
+import jakarta.faces.FacesException;
+import jakarta.faces.application.ProjectStage;
+import jakarta.faces.context.ExceptionHandler;
+import jakarta.faces.context.ExceptionHandlerWrapper;
+import jakarta.faces.context.FacesContext;
+import jakarta.faces.event.ExceptionQueuedEvent;
+
+/**
+ * Custom {@link ExceptionHandler} to log exceptions in development mode.
+ */
+public class QuarkusExceptionHandler extends ExceptionHandlerWrapper
+{
+    public QuarkusExceptionHandler(ExceptionHandler wrapped)
+    {
+        super(wrapped);
+    }
+
+    @Override
+    public void handle() throws FacesException
+    {
+        FacesContext context = FacesContext.getCurrentInstance();
+
+        if (context.isProjectStage(ProjectStage.Development))
+        {
+            Iterator<ExceptionQueuedEvent> iterator = getUnhandledExceptionQueuedEvents().iterator();
+            while (iterator.hasNext())
+            {
+                ExceptionQueuedEvent event = iterator.next();
+
+                event.getContext().getException().printStackTrace();
+            }
+        }
+
+        getWrapped().handle();
+    }
+}
diff --git a/extensions/quarkus/runtime/src/main/java/org/apache/myfaces/core/extensions/quarkus/runtime/exception/QuarkusExceptionHandlerFactory.java b/extensions/quarkus/runtime/src/main/java/org/apache/myfaces/core/extensions/quarkus/runtime/exception/QuarkusExceptionHandlerFactory.java
index 69ac72b..23204bf 100644
--- a/extensions/quarkus/runtime/src/main/java/org/apache/myfaces/core/extensions/quarkus/runtime/exception/QuarkusExceptionHandlerFactory.java
+++ b/extensions/quarkus/runtime/src/main/java/org/apache/myfaces/core/extensions/quarkus/runtime/exception/QuarkusExceptionHandlerFactory.java
@@ -1,37 +1,37 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.myfaces.core.extensions.quarkus.runtime.exception;
-
-import jakarta.faces.context.ExceptionHandler;
-import jakarta.faces.context.ExceptionHandlerFactory;
-
-public class QuarkusExceptionHandlerFactory extends ExceptionHandlerFactory
-{
-    public QuarkusExceptionHandlerFactory(ExceptionHandlerFactory wrapped)
-    {
-        super(wrapped);
-    }
-
-    @Override
-    public ExceptionHandler getExceptionHandler()
-    {
-        return new QuarkusExceptionHandler(getWrapped().getExceptionHandler());
-    }
-
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.myfaces.core.extensions.quarkus.runtime.exception;
+
+import jakarta.faces.context.ExceptionHandler;
+import jakarta.faces.context.ExceptionHandlerFactory;
+
+public class QuarkusExceptionHandlerFactory extends ExceptionHandlerFactory
+{
+    public QuarkusExceptionHandlerFactory(ExceptionHandlerFactory wrapped)
+    {
+        super(wrapped);
+    }
+
+    @Override
+    public ExceptionHandler getExceptionHandler()
+    {
+        return new QuarkusExceptionHandler(getWrapped().getExceptionHandler());
+    }
+
+}
diff --git a/extensions/quarkus/runtime/src/main/java/org/apache/myfaces/core/extensions/quarkus/runtime/producer/ManagedPropertyBeanCreator.java b/extensions/quarkus/runtime/src/main/java/org/apache/myfaces/core/extensions/quarkus/runtime/producer/ManagedPropertyBeanCreator.java
index 2e6fad7..b494987 100644
--- a/extensions/quarkus/runtime/src/main/java/org/apache/myfaces/core/extensions/quarkus/runtime/producer/ManagedPropertyBeanCreator.java
+++ b/extensions/quarkus/runtime/src/main/java/org/apache/myfaces/core/extensions/quarkus/runtime/producer/ManagedPropertyBeanCreator.java
@@ -1,48 +1,48 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.myfaces.core.extensions.quarkus.runtime.producer;
-
-import java.util.Map;
-
-import javax.enterprise.context.spi.CreationalContext;
-import jakarta.faces.FacesException;
-import jakarta.faces.context.FacesContext;
-
-import io.quarkus.arc.BeanCreator;
-
-public class ManagedPropertyBeanCreator implements BeanCreator<Object>
-{
-    public static final String EXPRESSION = "expression";
-
-    @Override
-    public Object create(CreationalContext<Object> cc, Map<String, Object> map)
-    {
-        String expression = (String) map.get(EXPRESSION);
-
-        FacesContext facesContext = FacesContext.getCurrentInstance();
-        if (facesContext == null)
-        {
-            throw new FacesException("@ManagedProperty(\"" + expression
-                    + "\") can only be resolved in a JSF request!");
-        }
-
-        return facesContext.getApplication().evaluateExpressionGet(facesContext, expression, Object.class);
-    }
-
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.myfaces.core.extensions.quarkus.runtime.producer;
+
+import java.util.Map;
+
+import javax.enterprise.context.spi.CreationalContext;
+import jakarta.faces.FacesException;
+import jakarta.faces.context.FacesContext;
+
+import io.quarkus.arc.BeanCreator;
+
+public class ManagedPropertyBeanCreator implements BeanCreator<Object>
+{
+    public static final String EXPRESSION = "expression";
+
+    @Override
+    public Object create(CreationalContext<Object> cc, Map<String, Object> map)
+    {
+        String expression = (String) map.get(EXPRESSION);
+
+        FacesContext facesContext = FacesContext.getCurrentInstance();
+        if (facesContext == null)
+        {
+            throw new FacesException("@ManagedProperty(\"" + expression
+                    + "\") can only be resolved in a JSF request!");
+        }
+
+        return facesContext.getApplication().evaluateExpressionGet(facesContext, expression, Object.class);
+    }
+
+}
diff --git a/extensions/quarkus/runtime/src/main/java/org/apache/myfaces/core/extensions/quarkus/runtime/scopes/QuarkusFacesScopeContext.java b/extensions/quarkus/runtime/src/main/java/org/apache/myfaces/core/extensions/quarkus/runtime/scopes/QuarkusFacesScopeContext.java
index d2c1295..64157ce 100644
--- a/extensions/quarkus/runtime/src/main/java/org/apache/myfaces/core/extensions/quarkus/runtime/scopes/QuarkusFacesScopeContext.java
+++ b/extensions/quarkus/runtime/src/main/java/org/apache/myfaces/core/extensions/quarkus/runtime/scopes/QuarkusFacesScopeContext.java
@@ -1,90 +1,90 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.myfaces.core.extensions.quarkus.runtime.scopes;
-
-import java.lang.annotation.Annotation;
-
-import javax.enterprise.context.spi.Contextual;
-import javax.enterprise.context.spi.CreationalContext;
-import javax.enterprise.inject.spi.CDI;
-
-import org.apache.myfaces.cdi.FacesScopeContext;
-import org.apache.myfaces.cdi.FacesScoped;
-
-import io.quarkus.arc.InjectableContext;
-
-public class QuarkusFacesScopeContext implements InjectableContext
-{
-    private FacesScopeContext wrapped;
-
-    public QuarkusFacesScopeContext()
-    {
-    }
-
-    public FacesScopeContext getWrapped()
-    {
-        if (wrapped == null)
-        {
-            wrapped = new FacesScopeContext(CDI.current().getBeanManager());
-        }
-        return wrapped;
-    }
-
-    @Override
-    public void destroy()
-    {
-
-    }
-
-    @Override
-    public void destroy(Contextual<?> contextual)
-    {
-        getWrapped().destroy(contextual);
-    }
-
-    @Override
-    public Class<? extends Annotation> getScope()
-    {
-        return FacesScoped.class;
-    }
-
-    @Override
-    public <T> T get(Contextual<T> contextual, CreationalContext<T> cc)
-    {
-        return getWrapped().get(contextual, cc);
-    }
-
-    @Override
-    public <T> T get(Contextual<T> contextual)
-    {
-        return getWrapped().get(contextual);
-    }
-
-    @Override
-    public boolean isActive()
-    {
-        return getWrapped().isActive();
-    }
-
-    @Override
-    public ContextState getState()
-    {
-        return null;
-    }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.myfaces.core.extensions.quarkus.runtime.scopes;
+
+import java.lang.annotation.Annotation;
+
+import javax.enterprise.context.spi.Contextual;
+import javax.enterprise.context.spi.CreationalContext;
+import javax.enterprise.inject.spi.CDI;
+
+import org.apache.myfaces.cdi.FacesScopeContext;
+import org.apache.myfaces.cdi.FacesScoped;
+
+import io.quarkus.arc.InjectableContext;
+
+public class QuarkusFacesScopeContext implements InjectableContext
+{
+    private FacesScopeContext wrapped;
+
+    public QuarkusFacesScopeContext()
+    {
+    }
+
+    public FacesScopeContext getWrapped()
+    {
+        if (wrapped == null)
+        {
+            wrapped = new FacesScopeContext(CDI.current().getBeanManager());
+        }
+        return wrapped;
+    }
+
+    @Override
+    public void destroy()
+    {
+
+    }
+
+    @Override
+    public void destroy(Contextual<?> contextual)
+    {
+        getWrapped().destroy(contextual);
+    }
+
+    @Override
+    public Class<? extends Annotation> getScope()
+    {
+        return FacesScoped.class;
+    }
+
+    @Override
+    public <T> T get(Contextual<T> contextual, CreationalContext<T> cc)
+    {
+        return getWrapped().get(contextual, cc);
+    }
+
+    @Override
+    public <T> T get(Contextual<T> contextual)
+    {
+        return getWrapped().get(contextual);
+    }
+
+    @Override
+    public boolean isActive()
+    {
+        return getWrapped().isActive();
+    }
+
+    @Override
+    public ContextState getState()
+    {
+        return null;
+    }
+}
diff --git a/extensions/quarkus/runtime/src/main/java/org/apache/myfaces/core/extensions/quarkus/runtime/scopes/QuarkusFlowScopedContext.java b/extensions/quarkus/runtime/src/main/java/org/apache/myfaces/core/extensions/quarkus/runtime/scopes/QuarkusFlowScopedContext.java
index 47fba60..61f9088 100644
--- a/extensions/quarkus/runtime/src/main/java/org/apache/myfaces/core/extensions/quarkus/runtime/scopes/QuarkusFlowScopedContext.java
+++ b/extensions/quarkus/runtime/src/main/java/org/apache/myfaces/core/extensions/quarkus/runtime/scopes/QuarkusFlowScopedContext.java
@@ -1,91 +1,91 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.myfaces.core.extensions.quarkus.runtime.scopes;
-
-import java.lang.annotation.Annotation;
-
-import javax.enterprise.context.spi.Contextual;
-import javax.enterprise.context.spi.CreationalContext;
-import javax.enterprise.inject.spi.CDI;
-import jakarta.faces.flow.FlowScoped;
-
-import org.apache.myfaces.flow.cdi.FlowScopedContextImpl;
-
-import io.quarkus.arc.InjectableContext;
-import org.apache.myfaces.core.extensions.quarkus.runtime.MyFacesRecorder;
-
-public class QuarkusFlowScopedContext implements InjectableContext
-{
-    private FlowScopedContextImpl wrapped;
-
-    public QuarkusFlowScopedContext()
-    {
-    }
-
-    public FlowScopedContextImpl getWrapped()
-    {
-        if (wrapped == null)
-        {
-            wrapped = new FlowScopedContextImpl(CDI.current().getBeanManager(), MyFacesRecorder.FLOW_REFERENCES);
-        }
-        return wrapped;
-    }
-
-    @Override
-    public void destroy()
-    {
-
-    }
-
-    @Override
-    public void destroy(Contextual<?> contextual)
-    {
-        getWrapped().destroy(contextual);
-    }
-
-    @Override
-    public Class<? extends Annotation> getScope()
-    {
-        return FlowScoped.class;
-    }
-
-    @Override
-    public <T> T get(Contextual<T> contextual, CreationalContext<T> cc)
-    {
-        return getWrapped().get(contextual, cc);
-    }
-
-    @Override
-    public <T> T get(Contextual<T> contextual)
-    {
-        return getWrapped().get(contextual);
-    }
-
-    @Override
-    public boolean isActive()
-    {
-        return getWrapped().isActive();
-    }
-
-    @Override
-    public InjectableContext.ContextState getState()
-    {
-        return null;
-    }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.myfaces.core.extensions.quarkus.runtime.scopes;
+
+import java.lang.annotation.Annotation;
+
+import javax.enterprise.context.spi.Contextual;
+import javax.enterprise.context.spi.CreationalContext;
+import javax.enterprise.inject.spi.CDI;
+import jakarta.faces.flow.FlowScoped;
+
+import org.apache.myfaces.flow.cdi.FlowScopedContextImpl;
+
+import io.quarkus.arc.InjectableContext;
+import org.apache.myfaces.core.extensions.quarkus.runtime.MyFacesRecorder;
+
+public class QuarkusFlowScopedContext implements InjectableContext
+{
+    private FlowScopedContextImpl wrapped;
+
+    public QuarkusFlowScopedContext()
+    {
+    }
+
+    public FlowScopedContextImpl getWrapped()
+    {
+        if (wrapped == null)
+        {
+            wrapped = new FlowScopedContextImpl(CDI.current().getBeanManager(), MyFacesRecorder.FLOW_REFERENCES);
+        }
+        return wrapped;
+    }
+
+    @Override
+    public void destroy()
+    {
+
+    }
+
+    @Override
+    public void destroy(Contextual<?> contextual)
+    {
+        getWrapped().destroy(contextual);
+    }
+
+    @Override
+    public Class<? extends Annotation> getScope()
+    {
+        return FlowScoped.class;
+    }
+
+    @Override
+    public <T> T get(Contextual<T> contextual, CreationalContext<T> cc)
+    {
+        return getWrapped().get(contextual, cc);
+    }
+
+    @Override
+    public <T> T get(Contextual<T> contextual)
+    {
+        return getWrapped().get(contextual);
+    }
+
+    @Override
+    public boolean isActive()
+    {
+        return getWrapped().isActive();
+    }
+
+    @Override
+    public InjectableContext.ContextState getState()
+    {
+        return null;
+    }
+}
diff --git a/extensions/quarkus/runtime/src/main/java/org/apache/myfaces/core/extensions/quarkus/runtime/scopes/QuarkusViewScopeContext.java b/extensions/quarkus/runtime/src/main/java/org/apache/myfaces/core/extensions/quarkus/runtime/scopes/QuarkusViewScopeContext.java
index 0cce987..e0f6c51 100644
--- a/extensions/quarkus/runtime/src/main/java/org/apache/myfaces/core/extensions/quarkus/runtime/scopes/QuarkusViewScopeContext.java
+++ b/extensions/quarkus/runtime/src/main/java/org/apache/myfaces/core/extensions/quarkus/runtime/scopes/QuarkusViewScopeContext.java
@@ -1,90 +1,90 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.myfaces.core.extensions.quarkus.runtime.scopes;
-
-import java.lang.annotation.Annotation;
-
-import javax.enterprise.context.spi.Contextual;
-import javax.enterprise.context.spi.CreationalContext;
-import javax.enterprise.inject.spi.CDI;
-import jakarta.faces.view.ViewScoped;
-
-import org.apache.myfaces.cdi.view.ViewScopeContext;
-
-import io.quarkus.arc.InjectableContext;
-
-public class QuarkusViewScopeContext implements InjectableContext
-{
-    private ViewScopeContext wrapped;
-
-    public QuarkusViewScopeContext()
-    {
-    }
-
-    public ViewScopeContext getWrapped()
-    {
-        if (wrapped == null)
-        {
-            wrapped = new ViewScopeContext(CDI.current().getBeanManager());
-        }
-        return wrapped;
-    }
-
-    @Override
-    public void destroy()
-    {
-
-    }
-
-    @Override
-    public void destroy(Contextual<?> contextual)
-    {
-        getWrapped().destroy(contextual);
-    }
-
-    @Override
-    public Class<? extends Annotation> getScope()
-    {
-        return ViewScoped.class;
-    }
-
-    @Override
-    public <T> T get(Contextual<T> contextual, CreationalContext<T> cc)
-    {
-        return getWrapped().get(contextual, cc);
-    }
-
-    @Override
-    public <T> T get(Contextual<T> contextual)
-    {
-        return getWrapped().get(contextual);
-    }
-
-    @Override
-    public boolean isActive()
-    {
-        return getWrapped().isActive();
-    }
-
-    @Override
-    public ContextState getState()
-    {
-        return null;
-    }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.myfaces.core.extensions.quarkus.runtime.scopes;
+
+import java.lang.annotation.Annotation;
+
+import javax.enterprise.context.spi.Contextual;
+import javax.enterprise.context.spi.CreationalContext;
+import javax.enterprise.inject.spi.CDI;
+import jakarta.faces.view.ViewScoped;
+
+import org.apache.myfaces.cdi.view.ViewScopeContext;
+
+import io.quarkus.arc.InjectableContext;
+
+public class QuarkusViewScopeContext implements InjectableContext
+{
+    private ViewScopeContext wrapped;
+
+    public QuarkusViewScopeContext()
+    {
+    }
+
+    public ViewScopeContext getWrapped()
+    {
+        if (wrapped == null)
+        {
+            wrapped = new ViewScopeContext(CDI.current().getBeanManager());
+        }
+        return wrapped;
+    }
+
+    @Override
+    public void destroy()
+    {
+
+    }
+
+    @Override
+    public void destroy(Contextual<?> contextual)
+    {
+        getWrapped().destroy(contextual);
+    }
+
+    @Override
+    public Class<? extends Annotation> getScope()
+    {
+        return ViewScoped.class;
+    }
+
+    @Override
+    public <T> T get(Contextual<T> contextual, CreationalContext<T> cc)
+    {
+        return getWrapped().get(contextual, cc);
+    }
+
+    @Override
+    public <T> T get(Contextual<T> contextual)
+    {
+        return getWrapped().get(contextual);
+    }
+
+    @Override
+    public boolean isActive()
+    {
+        return getWrapped().isActive();
+    }
+
+    @Override
+    public ContextState getState()
+    {
+        return null;
+    }
+}
diff --git a/extensions/quarkus/runtime/src/main/java/org/apache/myfaces/core/extensions/quarkus/runtime/scopes/QuarkusViewTransientScopeContext.java b/extensions/quarkus/runtime/src/main/java/org/apache/myfaces/core/extensions/quarkus/runtime/scopes/QuarkusViewTransientScopeContext.java
index 2811e70..3f32422 100644
--- a/extensions/quarkus/runtime/src/main/java/org/apache/myfaces/core/extensions/quarkus/runtime/scopes/QuarkusViewTransientScopeContext.java
+++ b/extensions/quarkus/runtime/src/main/java/org/apache/myfaces/core/extensions/quarkus/runtime/scopes/QuarkusViewTransientScopeContext.java
@@ -1,91 +1,91 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.myfaces.core.extensions.quarkus.runtime.scopes;
-
-import java.lang.annotation.Annotation;
-
-import javax.enterprise.context.spi.Contextual;
-import javax.enterprise.context.spi.CreationalContext;
-import javax.enterprise.inject.spi.CDI;
-
-import org.apache.myfaces.cdi.view.ViewTransientScopeContext;
-import org.apache.myfaces.cdi.view.ViewTransientScoped;
-
-import io.quarkus.arc.InjectableContext;
-
-public class QuarkusViewTransientScopeContext implements InjectableContext
-{
-    private ViewTransientScopeContext wrapped;
-
-    public QuarkusViewTransientScopeContext()
-    {
-    }
-
-    public ViewTransientScopeContext getWrapped()
-    {
-        if (wrapped == null)
-        {
-            wrapped = new ViewTransientScopeContext(CDI.current().getBeanManager());
-        }
-        return wrapped;
-    }
-
-    @Override
-    public void destroy()
-    {
-
-    }
-
-    @Override
-    public void destroy(Contextual<?> contextual)
-    {
-        getWrapped().destroy(contextual);
-    }
-
-    @Override
-    public Class<? extends Annotation> getScope()
-    {
-        return ViewTransientScoped.class;
-    }
-
-    @Override
-    public <T> T get(Contextual<T> contextual, CreationalContext<T> cc)
-    {
-        return getWrapped().get(contextual, cc);
-    }
-
-    @Override
-    public <T> T get(Contextual<T> contextual)
-    {
-        return getWrapped().get(contextual);
-    }
-
-    @Override
-    public boolean isActive()
-    {
-        return getWrapped().isActive();
-    }
-
-    @Override
-    public ContextState getState()
-    {
-        return null;
-    }
-
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.myfaces.core.extensions.quarkus.runtime.scopes;
+
+import java.lang.annotation.Annotation;
+
+import javax.enterprise.context.spi.Contextual;
+import javax.enterprise.context.spi.CreationalContext;
+import javax.enterprise.inject.spi.CDI;
+
+import org.apache.myfaces.cdi.view.ViewTransientScopeContext;
+import org.apache.myfaces.cdi.view.ViewTransientScoped;
+
+import io.quarkus.arc.InjectableContext;
+
+public class QuarkusViewTransientScopeContext implements InjectableContext
+{
+    private ViewTransientScopeContext wrapped;
+
+    public QuarkusViewTransientScopeContext()
+    {
+    }
+
+    public ViewTransientScopeContext getWrapped()
+    {
+        if (wrapped == null)
+        {
+            wrapped = new ViewTransientScopeContext(CDI.current().getBeanManager());
+        }
+        return wrapped;
+    }
+
+    @Override
+    public void destroy()
+    {
+
+    }
+
+    @Override
+    public void destroy(Contextual<?> contextual)
+    {
+        getWrapped().destroy(contextual);
+    }
+
+    @Override
+    public Class<? extends Annotation> getScope()
+    {
+        return ViewTransientScoped.class;
+    }
+
+    @Override
+    public <T> T get(Contextual<T> contextual, CreationalContext<T> cc)
+    {
+        return getWrapped().get(contextual, cc);
+    }
+
+    @Override
+    public <T> T get(Contextual<T> contextual)
+    {
+        return getWrapped().get(contextual);
+    }
+
+    @Override
+    public boolean isActive()
+    {
+        return getWrapped().isActive();
+    }
+
+    @Override
+    public ContextState getState()
+    {
+        return null;
+    }
+
+}
diff --git a/extensions/quarkus/runtime/src/main/java/org/apache/myfaces/core/extensions/quarkus/runtime/spi/QuarkusAnnotationProvider.java b/extensions/quarkus/runtime/src/main/java/org/apache/myfaces/core/extensions/quarkus/runtime/spi/QuarkusAnnotationProvider.java
index d919851..ad0fdb0 100644
--- a/extensions/quarkus/runtime/src/main/java/org/apache/myfaces/core/extensions/quarkus/runtime/spi/QuarkusAnnotationProvider.java
+++ b/extensions/quarkus/runtime/src/main/java/org/apache/myfaces/core/extensions/quarkus/runtime/spi/QuarkusAnnotationProvider.java
@@ -1,52 +1,52 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.myfaces.core.extensions.quarkus.runtime.spi;
-
-import java.io.IOException;
-import java.lang.annotation.Annotation;
-import java.net.URL;
-import java.util.Collections;
-import java.util.Map;
-import java.util.Set;
-
-import jakarta.faces.context.ExternalContext;
-
-import org.apache.myfaces.spi.AnnotationProvider;
-
-import org.apache.myfaces.core.extensions.quarkus.runtime.MyFacesRecorder;
-
-/**
- * AnnotationProvider which uses the collected classes from the Quarkus Deployment-time.
- */
-public class QuarkusAnnotationProvider extends AnnotationProvider
-{
-
-    @Override
-    public Map<Class<? extends Annotation>, Set<Class<?>>> getAnnotatedClasses(ExternalContext ctx)
-    {
-        return MyFacesRecorder.ANNOTATED_CLASSES;
-    }
-
-    @Override
-    public Set<URL> getBaseUrls(ExternalContext ctx) throws IOException
-    {
-        return Collections.emptySet();
-    }
-
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.myfaces.core.extensions.quarkus.runtime.spi;
+
+import java.io.IOException;
+import java.lang.annotation.Annotation;
+import java.net.URL;
+import java.util.Collections;
+import java.util.Map;
+import java.util.Set;
+
+import jakarta.faces.context.ExternalContext;
+
+import org.apache.myfaces.spi.AnnotationProvider;
+
+import org.apache.myfaces.core.extensions.quarkus.runtime.MyFacesRecorder;
+
+/**
+ * AnnotationProvider which uses the collected classes from the Quarkus Deployment-time.
+ */
+public class QuarkusAnnotationProvider extends AnnotationProvider
+{
+
+    @Override
+    public Map<Class<? extends Annotation>, Set<Class<?>>> getAnnotatedClasses(ExternalContext ctx)
+    {
+        return MyFacesRecorder.ANNOTATED_CLASSES;
+    }
+
+    @Override
+    public Set<URL> getBaseUrls(ExternalContext ctx) throws IOException
+    {
+        return Collections.emptySet();
+    }
+
+}
diff --git a/extensions/quarkus/runtime/src/main/java/org/apache/myfaces/core/extensions/quarkus/runtime/spi/QuarkusCdiELResolver.java b/extensions/quarkus/runtime/src/main/java/org/apache/myfaces/core/extensions/quarkus/runtime/spi/QuarkusCdiELResolver.java
index 4291b8f..7c58d60 100644
--- a/extensions/quarkus/runtime/src/main/java/org/apache/myfaces/core/extensions/quarkus/runtime/spi/QuarkusCdiELResolver.java
+++ b/extensions/quarkus/runtime/src/main/java/org/apache/myfaces/core/extensions/quarkus/runtime/spi/QuarkusCdiELResolver.java
@@ -1,131 +1,131 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.myfaces.core.extensions.quarkus.runtime.spi;
-
-import java.beans.FeatureDescriptor;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.Optional;
-import java.util.Set;
-import java.util.concurrent.ConcurrentHashMap;
-
-import javax.el.ELContext;
-import javax.el.ELException;
-import javax.el.ELResolver;
-import javax.enterprise.context.Dependent;
-import javax.enterprise.context.spi.CreationalContext;
-import javax.enterprise.inject.spi.Bean;
-import javax.enterprise.inject.spi.BeanManager;
-import javax.enterprise.inject.spi.CDI;
-import jakarta.faces.FacesException;
-
-/**
- * Custom {@link ELResolver} for CDI as {@link BeanManager#getELResolver} is not supported on Quarkus.
- * Currently @Dependent is not supported.
- */
-public class QuarkusCdiELResolver extends ELResolver
-{
-    private BeanManager beanManager;
-    private Map<String, Optional<Object>> cachedProxies;
-
-    public QuarkusCdiELResolver()
-    {
-        beanManager = CDI.current().getBeanManager();
-        cachedProxies = new ConcurrentHashMap<>();
-    }
-
-    @Override
-    public Class<?> getCommonPropertyType(ELContext arg0, Object arg1)
-    {
-        return null;
-    }
-
-    @Override
-    public Iterator<FeatureDescriptor> getFeatureDescriptors(ELContext arg0, Object arg1)
-    {
-        return null;
-    }
-
-    @Override
-    public Class<?> getType(ELContext arg0, Object arg1, Object arg2) throws ELException
-    {
-        return null;
-    }
-
-    @Override
-    public Object getValue(ELContext context, Object base, Object property) throws ELException
-    {
-        //we only check root beans
-        if (base != null)
-        {
-            return null;
-        }
-
-        String beanName = (String) property;
-
-        Optional<Object> contextualInstance = cachedProxies.get(beanName);
-        if (contextualInstance == null)
-        {
-            contextualInstance = resolveProxy(beanName);
-            cachedProxies.put(beanName, contextualInstance);
-        }
-
-        if (contextualInstance.isPresent())
-        {
-            context.setPropertyResolved(true);
-            return contextualInstance.get();
-        }
-
-        return null;
-    }
-
-    protected Optional<Object> resolveProxy(String beanName)
-    {
-        Object contextualInstance = null;
-
-        Set<Bean<?>> beans = beanManager.getBeans(beanName);
-        if (beans != null && !beans.isEmpty())
-        {
-            Bean<?> bean = beanManager.resolve(beans);
-
-            if (bean.getScope().equals(Dependent.class))
-            {
-                throw new FacesException("@Dependent on beans used in EL are currently not supported! "
-                        + " Class: " + bean.getBeanClass().toString());
-            }
-
-            CreationalContext<?> creationalContext = beanManager.createCreationalContext(bean);
-            contextualInstance = beanManager.getReference(bean, Object.class, creationalContext);
-        }
-
-        return contextualInstance == null ? Optional.empty() : Optional.of(contextualInstance);
-    }
-
-    @Override
-    public boolean isReadOnly(ELContext arg0, Object arg1, Object arg2) throws ELException
-    {
-        return false;
-    }
-
-    @Override
-    public void setValue(ELContext arg0, Object arg1, Object arg2, Object arg3) throws ELException
-    {
-
-    }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.myfaces.core.extensions.quarkus.runtime.spi;
+
+import java.beans.FeatureDescriptor;
+import java.util.Iterator;
+import java.util.Map;
+import java.util.Optional;
+import java.util.Set;
+import java.util.concurrent.ConcurrentHashMap;
+
+import javax.el.ELContext;
+import javax.el.ELException;
+import javax.el.ELResolver;
+import javax.enterprise.context.Dependent;
+import javax.enterprise.context.spi.CreationalContext;
+import javax.enterprise.inject.spi.Bean;
+import javax.enterprise.inject.spi.BeanManager;
+import javax.enterprise.inject.spi.CDI;
+import jakarta.faces.FacesException;
+
+/**
+ * Custom {@link ELResolver} for CDI as {@link BeanManager#getELResolver} is not supported on Quarkus.
+ * Currently @Dependent is not supported.
+ */
+public class QuarkusCdiELResolver extends ELResolver
+{
+    private BeanManager beanManager;
+    private Map<String, Optional<Object>> cachedProxies;
+
+    public QuarkusCdiELResolver()
+    {
+        beanManager = CDI.current().getBeanManager();
+        cachedProxies = new ConcurrentHashMap<>();
+    }
+
+    @Override
+    public Class<?> getCommonPropertyType(ELContext arg0, Object arg1)
+    {
+        return null;
+    }
+
+    @Override
+    public Iterator<FeatureDescriptor> getFeatureDescriptors(ELContext arg0, Object arg1)
+    {
+        return null;
+    }
+
+    @Override
+    public Class<?> getType(ELContext arg0, Object arg1, Object arg2) throws ELException
+    {
+        return null;
+    }
+
+    @Override
+    public Object getValue(ELContext context, Object base, Object property) throws ELException
+    {
+        //we only check root beans
+        if (base != null)
+        {
+            return null;
+        }
+
+        String beanName = (String) property;
+
+        Optional<Object> contextualInstance = cachedProxies.get(beanName);
+        if (contextualInstance == null)
+        {
+            contextualInstance = resolveProxy(beanName);
+            cachedProxies.put(beanName, contextualInstance);
+        }
+
+        if (contextualInstance.isPresent())
+        {
+            context.setPropertyResolved(true);
+            return contextualInstance.get();
+        }
+
+        return null;
+    }
+
+    protected Optional<Object> resolveProxy(String beanName)
+    {
+        Object contextualInstance = null;
+
+        Set<Bean<?>> beans = beanManager.getBeans(beanName);
+        if (beans != null && !beans.isEmpty())
+        {
+            Bean<?> bean = beanManager.resolve(beans);
+
+            if (bean.getScope().equals(Dependent.class))
+            {
+                throw new FacesException("@Dependent on beans used in EL are currently not supported! "
+                        + " Class: " + bean.getBeanClass().toString());
+            }
+
+            CreationalContext<?> creationalContext = beanManager.createCreationalContext(bean);
+            contextualInstance = beanManager.getReference(bean, Object.class, creationalContext);
+        }
+
+        return contextualInstance == null ? Optional.empty() : Optional.of(contextualInstance);
+    }
+
+    @Override
+    public boolean isReadOnly(ELContext arg0, Object arg1, Object arg2) throws ELException
+    {
+        return false;
+    }
+
+    @Override
+    public void setValue(ELContext arg0, Object arg1, Object arg2, Object arg3) throws ELException
+    {
+
+    }
+}
diff --git a/extensions/quarkus/runtime/src/main/java/org/apache/myfaces/core/extensions/quarkus/runtime/spi/QuarkusELResolverBuilder.java b/extensions/quarkus/runtime/src/main/java/org/apache/myfaces/core/extensions/quarkus/runtime/spi/QuarkusELResolverBuilder.java
index 79f5cc3..4a13815 100644
--- a/extensions/quarkus/runtime/src/main/java/org/apache/myfaces/core/extensions/quarkus/runtime/spi/QuarkusELResolverBuilder.java
+++ b/extensions/quarkus/runtime/src/main/java/org/apache/myfaces/core/extensions/quarkus/runtime/spi/QuarkusELResolverBuilder.java
@@ -1,45 +1,45 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.myfaces.core.extensions.quarkus.runtime.spi;
-
-import javax.el.ELResolver;
-
-import org.apache.myfaces.config.MyfacesConfig;
-import org.apache.myfaces.config.RuntimeConfig;
-import org.apache.myfaces.el.DefaultELResolverBuilder;
-
-/**
- * Custom {@link org.apache.myfaces.el.ELResolverBuilder} which only works with EL3.x+
- * and replaces the {@link javax.enterprise.inject.spi.BeanManager#getELResolver()}
- * with our own {@link QuarkusCdiELResolver}
- */
-public class QuarkusELResolverBuilder extends DefaultELResolverBuilder
-{
-
-    public QuarkusELResolverBuilder(RuntimeConfig runtimeConfig, MyfacesConfig myfacesConfig)
-    {
-        super(runtimeConfig, myfacesConfig);
-    }
-
-    @Override
-    protected ELResolver getCDIELResolver()
-    {
-        return new QuarkusCdiELResolver();
-    }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.myfaces.core.extensions.quarkus.runtime.spi;
+
+import javax.el.ELResolver;
+
+import org.apache.myfaces.config.MyfacesConfig;
+import org.apache.myfaces.config.RuntimeConfig;
+import org.apache.myfaces.el.DefaultELResolverBuilder;
+
+/**
+ * Custom {@link org.apache.myfaces.el.ELResolverBuilder} which only works with EL3.x+
+ * and replaces the {@link javax.enterprise.inject.spi.BeanManager#getELResolver()}
+ * with our own {@link QuarkusCdiELResolver}
+ */
+public class QuarkusELResolverBuilder extends DefaultELResolverBuilder
+{
+
+    public QuarkusELResolverBuilder(RuntimeConfig runtimeConfig, MyfacesConfig myfacesConfig)
+    {
+        super(runtimeConfig, myfacesConfig);
+    }
+
+    @Override
+    protected ELResolver getCDIELResolver()
+    {
+        return new QuarkusCdiELResolver();
+    }
+}
diff --git a/extensions/quarkus/runtime/src/main/java/org/apache/myfaces/core/extensions/quarkus/runtime/spi/QuarkusFacesFlowProvider.java b/extensions/quarkus/runtime/src/main/java/org/apache/myfaces/core/extensions/quarkus/runtime/spi/QuarkusFacesFlowProvider.java
index e7c5ea4..7e694f5 100644
--- a/extensions/quarkus/runtime/src/main/java/org/apache/myfaces/core/extensions/quarkus/runtime/spi/QuarkusFacesFlowProvider.java
+++ b/extensions/quarkus/runtime/src/main/java/org/apache/myfaces/core/extensions/quarkus/runtime/spi/QuarkusFacesFlowProvider.java
@@ -1,38 +1,38 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.myfaces.core.extensions.quarkus.runtime.spi;
-
-import java.util.Iterator;
-
-import javax.enterprise.inject.spi.CDI;
-import javax.enterprise.util.AnnotationLiteral;
-import jakarta.faces.context.FacesContext;
-import jakarta.faces.flow.Flow;
-import jakarta.faces.flow.builder.FlowDefinition;
-
-import org.apache.myfaces.flow.cdi.DefaultCDIFacesFlowProvider;
-
-public class QuarkusFacesFlowProvider extends DefaultCDIFacesFlowProvider
-{
-    @Override
-    public Iterator<Flow> getAnnotatedFlows(FacesContext facesContext)
-    {
-        return CDI.current().select(Flow.class, new AnnotationLiteral<FlowDefinition>(){ }).stream().iterator();
-    }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.myfaces.core.extensions.quarkus.runtime.spi;
+
+import java.util.Iterator;
+
+import javax.enterprise.inject.spi.CDI;
+import javax.enterprise.util.AnnotationLiteral;
+import jakarta.faces.context.FacesContext;
+import jakarta.faces.flow.Flow;
+import jakarta.faces.flow.builder.FlowDefinition;
+
+import org.apache.myfaces.flow.cdi.DefaultCDIFacesFlowProvider;
+
+public class QuarkusFacesFlowProvider extends DefaultCDIFacesFlowProvider
+{
+    @Override
+    public Iterator<Flow> getAnnotatedFlows(FacesContext facesContext)
+    {
+        return CDI.current().select(Flow.class, new AnnotationLiteral<FlowDefinition>(){ }).stream().iterator();
+    }
+}
diff --git a/extensions/quarkus/runtime/src/main/java/org/apache/myfaces/core/extensions/quarkus/runtime/spi/QuarkusFactoryFinderProvider.java b/extensions/quarkus/runtime/src/main/java/org/apache/myfaces/core/extensions/quarkus/runtime/spi/QuarkusFactoryFinderProvider.java
index 5f5d067..c6c6708 100644
--- a/extensions/quarkus/runtime/src/main/java/org/apache/myfaces/core/extensions/quarkus/runtime/spi/QuarkusFactoryFinderProvider.java
+++ b/extensions/quarkus/runtime/src/main/java/org/apache/myfaces/core/extensions/quarkus/runtime/spi/QuarkusFactoryFinderProvider.java
@@ -1,103 +1,103 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.myfaces.core.extensions.quarkus.runtime.spi;
-
-import java.lang.reflect.Constructor;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-
-import jakarta.faces.FacesException;
-
-import org.apache.myfaces.spi.FactoryFinderProvider;
-import org.apache.myfaces.util.lang.ClassUtils;
-
-/**
- * Custom FactoryFinder, as the original FactoryFinder cares to much about ClassLoaders,
- * which doesn't work with Quarkus native.
- * As Quarkus == 1 webapp, we can simple handle everything as static.
- */
-public class QuarkusFactoryFinderProvider implements FactoryFinderProvider
-{
-    private final HashMap<String, List<String>> classes = new HashMap<>();
-    private final HashMap<String, Object> instances = new HashMap<>();
-
-    @Override
-    public Object getFactory(String factoryName) throws FacesException
-    {
-        Object instance = instances.get(factoryName);
-
-        if (instance == null)
-        {
-            try
-            {
-                List<String> impls = classes.computeIfAbsent(factoryName, k -> new ArrayList<>(3));
-
-                Iterator<String> implsIterator = impls.iterator();
-                while (implsIterator.hasNext())
-                {
-                    Class implClass = ClassUtils.classForName(implsIterator.next());
-
-                    for (Constructor<?> constructor : implClass.getConstructors())
-                    {
-                        if (constructor.getParameterTypes().length == 1)
-                        {
-                            instance = constructor.newInstance(new Object[] { instance });
-                        }
-                    }
-
-                    if (instance == null)
-                    {
-                        for (Constructor<?> constructor : implClass.getConstructors())
-                        {
-                            if (constructor.getParameterTypes().length == 0)
-                            {
-                                instance = constructor.newInstance();
-                            }
-                        }
-                    }
-                }
-
-                instances.put(factoryName, instance);
-            }
-            catch (Exception ex)
-            {
-                ex.printStackTrace();
-            }
-        }
-
-        return instance;
-    }
-
-    @Override
-    public void releaseFactories() throws FacesException
-    {
-        instances.clear();
-    }
-
-    @Override
-    public void setFactory(String factoryName, String implName)
-    {
-        List<String> impls = classes.computeIfAbsent(factoryName, k -> new ArrayList<>(3));
-        impls.add(implName);
-
-        instances.remove(factoryName);
-    }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.myfaces.core.extensions.quarkus.runtime.spi;
+
+import java.lang.reflect.Constructor;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+
+import jakarta.faces.FacesException;
+
+import org.apache.myfaces.spi.FactoryFinderProvider;
+import org.apache.myfaces.util.lang.ClassUtils;
+
+/**
+ * Custom FactoryFinder, as the original FactoryFinder cares to much about ClassLoaders,
+ * which doesn't work with Quarkus native.
+ * As Quarkus == 1 webapp, we can simple handle everything as static.
+ */
+public class QuarkusFactoryFinderProvider implements FactoryFinderProvider
+{
+    private final HashMap<String, List<String>> classes = new HashMap<>();
+    private final HashMap<String, Object> instances = new HashMap<>();
+
+    @Override
+    public Object getFactory(String factoryName) throws FacesException
+    {
+        Object instance = instances.get(factoryName);
+
+        if (instance == null)
+        {
+            try
+            {
+                List<String> impls = classes.computeIfAbsent(factoryName, k -> new ArrayList<>(3));
+
+                Iterator<String> implsIterator = impls.iterator();
+                while (implsIterator.hasNext())
+                {
+                    Class implClass = ClassUtils.classForName(implsIterator.next());
+
+                    for (Constructor<?> constructor : implClass.getConstructors())
+                    {
+                        if (constructor.getParameterTypes().length == 1)
+                        {
+                            instance = constructor.newInstance(new Object[] { instance });
+                        }
+                    }
+
+                    if (instance == null)
+                    {
+                        for (Constructor<?> constructor : implClass.getConstructors())
+                        {
+                            if (constructor.getParameterTypes().length == 0)
+                            {
+                                instance = constructor.newInstance();
+                            }
+                        }
+                    }
+                }
+
+                instances.put(factoryName, instance);
+            }
+            catch (Exception ex)
+            {
+                ex.printStackTrace();
+            }
+        }
+
+        return instance;
+    }
+
+    @Override
+    public void releaseFactories() throws FacesException
+    {
+        instances.clear();
+    }
+
+    @Override
+    public void setFactory(String factoryName, String implName)
+    {
+        List<String> impls = classes.computeIfAbsent(factoryName, k -> new ArrayList<>(3));
+        impls.add(implName);
+
+        instances.remove(factoryName);
+    }
+}
diff --git a/extensions/quarkus/runtime/src/main/java/org/apache/myfaces/core/extensions/quarkus/runtime/spi/QuarkusFactoryFinderProviderFactory.java b/extensions/quarkus/runtime/src/main/java/org/apache/myfaces/core/extensions/quarkus/runtime/spi/QuarkusFactoryFinderProviderFactory.java
index 0b6fb6a..b3d0232 100644
--- a/extensions/quarkus/runtime/src/main/java/org/apache/myfaces/core/extensions/quarkus/runtime/spi/QuarkusFactoryFinderProviderFactory.java
+++ b/extensions/quarkus/runtime/src/main/java/org/apache/myfaces/core/extensions/quarkus/runtime/spi/QuarkusFactoryFinderProviderFactory.java
@@ -1,34 +1,34 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.myfaces.core.extensions.quarkus.runtime.spi;
-
-import org.apache.myfaces.spi.FactoryFinderProvider;
-import org.apache.myfaces.spi.FactoryFinderProviderFactory;
-
-public class QuarkusFactoryFinderProviderFactory extends FactoryFinderProviderFactory
-{
-    private static final QuarkusFactoryFinderProvider FACTORY_FINDER_PROVIDER = new QuarkusFactoryFinderProvider();
-
-    @Override
-    public FactoryFinderProvider getFactoryFinderProvider()
-    {
-        return FACTORY_FINDER_PROVIDER;
-    }
-
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.myfaces.core.extensions.quarkus.runtime.spi;
+
+import org.apache.myfaces.spi.FactoryFinderProvider;
+import org.apache.myfaces.spi.FactoryFinderProviderFactory;
+
+public class QuarkusFactoryFinderProviderFactory extends FactoryFinderProviderFactory
+{
+    private static final QuarkusFactoryFinderProvider FACTORY_FINDER_PROVIDER = new QuarkusFactoryFinderProvider();
+
+    @Override
+    public FactoryFinderProvider getFactoryFinderProvider()
+    {
+        return FACTORY_FINDER_PROVIDER;
+    }
+
+}
diff --git a/extensions/quarkus/runtime/src/main/java/org/apache/myfaces/core/extensions/quarkus/runtime/spi/QuarkusInjectionProvider.java b/extensions/quarkus/runtime/src/main/java/org/apache/myfaces/core/extensions/quarkus/runtime/spi/QuarkusInjectionProvider.java
index a180cbb..fc9f932 100644
--- a/extensions/quarkus/runtime/src/main/java/org/apache/myfaces/core/extensions/quarkus/runtime/spi/QuarkusInjectionProvider.java
+++ b/extensions/quarkus/runtime/src/main/java/org/apache/myfaces/core/extensions/quarkus/runtime/spi/QuarkusInjectionProvider.java
@@ -1,50 +1,50 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.myfaces.core.extensions.quarkus.runtime.spi;
-
-import org.apache.myfaces.spi.InjectionProvider;
-import org.apache.myfaces.spi.InjectionProviderException;
-
-/**
- * Needs to be implemented to support injection in JSF artifacts:
- * https://github.com/quarkusio/quarkus/blob/master/extensions/arc/deployment/
- * src/main/java/io/quarkus/arc/deployment/ArcTestResourceProvider.java#L21-L54
- * https://github.com/quarkusio/quarkus/issues/2378
- */
-public class QuarkusInjectionProvider extends InjectionProvider
-{
-    @Override
-    public Object inject(Object instance) throws InjectionProviderException
-    {
-        return instance;
-    }
-
-    @Override
-    public void postConstruct(Object instance, Object creationMetaData) throws InjectionProviderException
-    {
-
-    }
-
-    @Override
-    public void preDestroy(Object instance, Object creationMetaData) throws InjectionProviderException
-    {
-
-    }
-
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.myfaces.core.extensions.quarkus.runtime.spi;
+
+import org.apache.myfaces.spi.InjectionProvider;
+import org.apache.myfaces.spi.InjectionProviderException;
+
+/**
+ * Needs to be implemented to support injection in JSF artifacts:
+ * https://github.com/quarkusio/quarkus/blob/master/extensions/arc/deployment/
+ * src/main/java/io/quarkus/arc/deployment/ArcTestResourceProvider.java#L21-L54
+ * https://github.com/quarkusio/quarkus/issues/2378
+ */
+public class QuarkusInjectionProvider extends InjectionProvider
+{
+    @Override
+    public Object inject(Object instance) throws InjectionProviderException
+    {
+        return instance;
+    }
+
+    @Override
+    public void postConstruct(Object instance, Object creationMetaData) throws InjectionProviderException
+    {
+
+    }
+
+    @Override
+    public void preDestroy(Object instance, Object creationMetaData) throws InjectionProviderException
+    {
+
+    }
+
+}
diff --git a/extensions/quarkus/showcase/src/main/java/org/apache/myfaces/core/extensions/quarkus/showcase/view/Car.java b/extensions/quarkus/showcase/src/main/java/org/apache/myfaces/core/extensions/quarkus/showcase/view/Car.java
index e3e8e0d..e896fde 100644
--- a/extensions/quarkus/showcase/src/main/java/org/apache/myfaces/core/extensions/quarkus/showcase/view/Car.java
+++ b/extensions/quarkus/showcase/src/main/java/org/apache/myfaces/core/extensions/quarkus/showcase/view/Car.java
@@ -1,120 +1,120 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.myfaces.core.extensions.quarkus.showcase.view;
-
-import java.io.Serializable;
-
-public class Car implements Serializable {
-
-    public String id;
-    public String brand;
-    public int year;
-    public String color;
-    public int price;
-    public boolean sold;
-
-    public Car() {
-    }
-
-    public Car(String id, String brand, int year, String color) {
-        this.id = id;
-        this.brand = brand;
-        this.year = year;
-        this.color = color;
-    }
-
-    public Car(String id, String brand, int year, String color, int price, boolean sold) {
-        this.id = id;
-        this.brand = brand;
-        this.year = year;
-        this.color = color;
-        this.price = price;
-        this.sold = sold;
-    }
-
-    public String getId() {
-        return id;
-    }
-
-    public void setId(String id) {
-        this.id = id;
-    }
-
-    public String getBrand() {
-        return brand;
-    }
-
-    public void setBrand(String brand) {
-        this.brand = brand;
-    }
-
-    public int getYear() {
-        return year;
-    }
-
-    public void setYear(int year) {
-        this.year = year;
-    }
-
-    public String getColor() {
-        return color;
-    }
-
-    public void setColor(String color) {
-        this.color = color;
-    }
-
-    public int getPrice() {
-        return price;
-    }
-
-    public void setPrice(int price) {
-        this.price = price;
-    }
-
-    public boolean isSold() {
-        return sold;
-    }
-
-    public void setSold(boolean sold) {
-        this.sold = sold;
-    }
-
-    @Override
-    public int hashCode() {
-        int hash = 7;
-        hash = 59 * hash + (this.id != null ? this.id.hashCode() : 0);
-        return hash;
-    }
-
-    @Override
-    public boolean equals(Object obj) {
-        if (obj == null) {
-            return false;
-        }
-        if (getClass() != obj.getClass()) {
-            return false;
-        }
-        final Car other = (Car) obj;
-        if ((this.id == null) ? (other.id != null) : !this.id.equals(other.id)) {
-            return false;
-        }
-        return true;
-    }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.myfaces.core.extensions.quarkus.showcase.view;
+
+import java.io.Serializable;
+
+public class Car implements Serializable {
+
+    public String id;
+    public String brand;
+    public int year;
+    public String color;
+    public int price;
+    public boolean sold;
+
+    public Car() {
+    }
+
+    public Car(String id, String brand, int year, String color) {
+        this.id = id;
+        this.brand = brand;
+        this.year = year;
+        this.color = color;
+    }
+
+    public Car(String id, String brand, int year, String color, int price, boolean sold) {
+        this.id = id;
+        this.brand = brand;
+        this.year = year;
+        this.color = color;
+        this.price = price;
+        this.sold = sold;
+    }
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String id) {
+        this.id = id;
+    }
+
+    public String getBrand() {
+        return brand;
+    }
+
+    public void setBrand(String brand) {
+        this.brand = brand;
+    }
+
+    public int getYear() {
+        return year;
+    }
+
+    public void setYear(int year) {
+        this.year = year;
+    }
+
+    public String getColor() {
+        return color;
+    }
+
+    public void setColor(String color) {
+        this.color = color;
+    }
+
+    public int getPrice() {
+        return price;
+    }
+
+    public void setPrice(int price) {
+        this.price = price;
+    }
+
+    public boolean isSold() {
+        return sold;
+    }
+
+    public void setSold(boolean sold) {
+        this.sold = sold;
+    }
+
+    @Override
+    public int hashCode() {
+        int hash = 7;
+        hash = 59 * hash + (this.id != null ? this.id.hashCode() : 0);
+        return hash;
+    }
+
+    @Override
+    public boolean equals(Object obj) {
+        if (obj == null) {
+            return false;
+        }
+        if (getClass() != obj.getClass()) {
+            return false;
+        }
+        final Car other = (Car) obj;
+        if ((this.id == null) ? (other.id != null) : !this.id.equals(other.id)) {
+            return false;
+        }
+        return true;
+    }
+}
diff --git a/extensions/quarkus/showcase/src/main/java/org/apache/myfaces/core/extensions/quarkus/showcase/view/CarService.java b/extensions/quarkus/showcase/src/main/java/org/apache/myfaces/core/extensions/quarkus/showcase/view/CarService.java
index 692af75..a995440 100644
--- a/extensions/quarkus/showcase/src/main/java/org/apache/myfaces/core/extensions/quarkus/showcase/view/CarService.java
+++ b/extensions/quarkus/showcase/src/main/java/org/apache/myfaces/core/extensions/quarkus/showcase/view/CarService.java
@@ -1,102 +1,102 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.myfaces.core.extensions.quarkus.showcase.view;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-import java.util.UUID;
-import javax.enterprise.context.ApplicationScoped;
-import javax.inject.Named;
-
-@Named("carService")
-@ApplicationScoped
-public class CarService {
-
-    private final static String[] colors;
-
-    private final static String[] brands;
-
-    static {
-        colors = new String[10];
-        colors[0] = "Black";
-        colors[1] = "White";
-        colors[2] = "Green";
-        colors[3] = "Red";
-        colors[4] = "Blue";
-        colors[5] = "Orange";
-        colors[6] = "Silver";
-        colors[7] = "Yellow";
-        colors[8] = "Brown";
-        colors[9] = "Maroon";
-
-        brands = new String[10];
-        brands[0] = "BMW";
-        brands[1] = "Mercedes";
-        brands[2] = "Volvo";
-        brands[3] = "Audi";
-        brands[4] = "Renault";
-        brands[5] = "Fiat";
-        brands[6] = "Volkswagen";
-        brands[7] = "Honda";
-        brands[8] = "Jaguar";
-        brands[9] = "Ford";
-    }
-
-    public List<Car> createCars(int size) {
-        List<Car> list = new ArrayList<Car>();
-        for (int i = 0; i < size; i++) {
-            list.add(new Car(getRandomId(), getRandomBrand(), getRandomYear(), getRandomColor(), getRandomPrice(), getRandomSoldState()));
-        }
-
-        return list;
-    }
-
-    private String getRandomId() {
-        return UUID.randomUUID().toString().substring(0, 8);
-    }
-
-    private int getRandomYear() {
-        return (int) (Math.random() * 50 + 1960);
-    }
-
-    private String getRandomColor() {
-        return colors[(int) (Math.random() * 10)];
-    }
-
-    private String getRandomBrand() {
-        return brands[(int) (Math.random() * 10)];
-    }
-
-    private int getRandomPrice() {
-        return (int) (Math.random() * 100000);
-    }
-
-    private boolean getRandomSoldState() {
-        return Math.random() > 0.5;
-    }
-
-    public List<String> getColors() {
-        return Arrays.asList(colors);
-    }
-
-    public List<String> getBrands() {
-        return Arrays.asList(brands);
-    }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.myfaces.core.extensions.quarkus.showcase.view;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+import java.util.UUID;
+import javax.enterprise.context.ApplicationScoped;
+import javax.inject.Named;
+
+@Named("carService")
+@ApplicationScoped
+public class CarService {
+
+    private final static String[] colors;
+
+    private final static String[] brands;
+
+    static {
+        colors = new String[10];
+        colors[0] = "Black";
+        colors[1] = "White";
+        colors[2] = "Green";
+        colors[3] = "Red";
+        colors[4] = "Blue";
+        colors[5] = "Orange";
+        colors[6] = "Silver";
+        colors[7] = "Yellow";
+        colors[8] = "Brown";
+        colors[9] = "Maroon";
+
+        brands = new String[10];
+        brands[0] = "BMW";
+        brands[1] = "Mercedes";
+        brands[2] = "Volvo";
+        brands[3] = "Audi";
+        brands[4] = "Renault";
+        brands[5] = "Fiat";
+        brands[6] = "Volkswagen";
+        brands[7] = "Honda";
+        brands[8] = "Jaguar";
+        brands[9] = "Ford";
+    }
+
+    public List<Car> createCars(int size) {
+        List<Car> list = new ArrayList<Car>();
+        for (int i = 0; i < size; i++) {
+            list.add(new Car(getRandomId(), getRandomBrand(), getRandomYear(), getRandomColor(), getRandomPrice(), getRandomSoldState()));
+        }
+
+        return list;
+    }
+
+    private String getRandomId() {
+        return UUID.randomUUID().toString().substring(0, 8);
+    }
+
+    private int getRandomYear() {
+        return (int) (Math.random() * 50 + 1960);
+    }
+
+    private String getRandomColor() {
+        return colors[(int) (Math.random() * 10)];
+    }
+
+    private String getRandomBrand() {
+        return brands[(int) (Math.random() * 10)];
+    }
+
+    private int getRandomPrice() {
+        return (int) (Math.random() * 100000);
+    }
+
+    private boolean getRandomSoldState() {
+        return Math.random() > 0.5;
+    }
+
+    public List<String> getColors() {
+        return Arrays.asList(colors);
+    }
+
+    public List<String> getBrands() {
+        return Arrays.asList(brands);
+    }
+}
diff --git a/extensions/quarkus/showcase/src/main/java/org/apache/myfaces/core/extensions/quarkus/showcase/view/FileView.java b/extensions/quarkus/showcase/src/main/java/org/apache/myfaces/core/extensions/quarkus/showcase/view/FileView.java
index c700594..9c8f33b 100644
--- a/extensions/quarkus/showcase/src/main/java/org/apache/myfaces/core/extensions/quarkus/showcase/view/FileView.java
+++ b/extensions/quarkus/showcase/src/main/java/org/apache/myfaces/core/extensions/quarkus/showcase/view/FileView.java
@@ -1,58 +1,58 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.myfaces.core.extensions.quarkus.showcase.view;
-
-import org.primefaces.event.FileUploadEvent;
-import org.primefaces.model.file.UploadedFile;
-
-import javax.enterprise.context.RequestScoped;
-import javax.inject.Named;
-import java.io.Serializable;
-
-@RequestScoped
-@Named
-public class FileView implements Serializable {
-
-    private UploadedFile file;
-
-    public String getName()
-    {
-        return "blub";
-    }
-    
-    public void upload() {
-        System.out.println("simple file upload start");
-        if (file != null) {
-            System.out.println(file.getFileName());
-        }
-    }
-
-    public void handleFileUpload(FileUploadEvent event){
-        System.out.println("auto file upload start");
-        System.out.println(event.getFile().getFileName());
-    }
-
-    public UploadedFile getFile() {
-        return file;
-    }
-
-    public void setFile(UploadedFile file) {
-        this.file = file;
-    }
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.myfaces.core.extensions.quarkus.showcase.view;
+
+import org.primefaces.event.FileUploadEvent;
+import org.primefaces.model.file.UploadedFile;
+
+import javax.enterprise.context.RequestScoped;
+import javax.inject.Named;
+import java.io.Serializable;
+
+@RequestScoped
+@Named
+public class FileView implements Serializable {
+
+    private UploadedFile file;
+
+    public String getName()
+    {
+        return "blub";
+    }
+    
+    public void upload() {
+        System.out.println("simple file upload start");
+        if (file != null) {
+            System.out.println(file.getFileName());
+        }
+    }
+
+    public void handleFileUpload(FileUploadEvent event){
+        System.out.println("auto file upload start");
+        System.out.println(event.getFile().getFileName());
+    }
+
+    public UploadedFile getFile() {
+        return file;
+    }
+
+    public void setFile(UploadedFile file) {
+        this.file = file;
+    }
 }
\ No newline at end of file
diff --git a/extensions/quarkus/showcase/src/main/java/org/apache/myfaces/core/extensions/quarkus/showcase/view/InputController.java b/extensions/quarkus/showcase/src/main/java/org/apache/myfaces/core/extensions/quarkus/showcase/view/InputController.java
index 701970b..d5582af 100644
--- a/extensions/quarkus/showcase/src/main/java/org/apache/myfaces/core/extensions/quarkus/showcase/view/InputController.java
+++ b/extensions/quarkus/showcase/src/main/java/org/apache/myfaces/core/extensions/quarkus/showcase/view/InputController.java
@@ -1,46 +1,46 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.myfaces.core.extensions.quarkus.showcase.view;
-
-import java.io.Serializable;
-import javax.enterprise.context.SessionScoped;
-import jakarta.faces.annotation.ManagedProperty;
-import javax.inject.Inject;
-import javax.inject.Named;
-
-@Named
-@SessionScoped
-public class InputController implements Serializable{
-    
-    @Inject
-    @ManagedProperty(value = "#{carService}")
-    CarService carService;
-    
-    private String val;
-
-    public String getVal() {
-        System.err.println("carService: " + carService);
-        return val;
-    }
-
-    public void setVal(String val) {
-        this.val = val;
-    }
-    
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.myfaces.core.extensions.quarkus.showcase.view;
+
+import java.io.Serializable;
+import javax.enterprise.context.SessionScoped;
+import jakarta.faces.annotation.ManagedProperty;
+import javax.inject.Inject;
+import javax.inject.Named;
+
+@Named
+@SessionScoped
+public class InputController implements Serializable{
+    
+    @Inject
+    @ManagedProperty(value = "#{carService}")
+    CarService carService;
+    
+    private String val;
+
+    public String getVal() {
+        System.err.println("carService: " + carService);
+        return val;
+    }
+
+    public void setVal(String val) {
+        this.val = val;
+    }
+    
+}
diff --git a/extensions/quarkus/showcase/src/main/java/org/apache/myfaces/core/extensions/quarkus/showcase/view/LazyCarDataModel.java b/extensions/quarkus/showcase/src/main/java/org/apache/myfaces/core/extensions/quarkus/showcase/view/LazyCarDataModel.java
index 5b6539f..224c403 100644
--- a/extensions/quarkus/showcase/src/main/java/org/apache/myfaces/core/extensions/quarkus/showcase/view/LazyCarDataModel.java
+++ b/extensions/quarkus/showcase/src/main/java/org/apache/myfaces/core/extensions/quarkus/showcase/view/LazyCarDataModel.java
@@ -1,113 +1,113 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.myfaces.core.extensions.quarkus.showcase.view;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import org.primefaces.model.FilterMeta;
-import org.primefaces.model.LazyDataModel;
-import org.primefaces.model.SortOrder;
-
-/**
- * Dummy implementation of LazyDataModel that uses a list to mimic a real datasource like a database.
- */
-public class LazyCarDataModel extends LazyDataModel<Car> {
-
-    private List<Car> datasource;
-
-    public LazyCarDataModel(List<Car> datasource) {
-        this.datasource = datasource;
-    }
-
-    @Override
-    public Car getRowData(String rowKey) {
-        for (Car car : datasource) {
-            if (car.getId().equals(rowKey)) {
-                return car;
-            }
-        }
-
-        return null;
-    }
-
-    @Override
-    public Object getRowKey(Car car) {
-        return car.getId();
-    }
-
-    @Override
-    public List<Car> load(int first, int pageSize, String sortField, SortOrder sortOrder, Map<String, FilterMeta> filters) {
-        List<Car> data = new ArrayList<Car>();
-
-        //filter
-        for (Car car : datasource) {
-            boolean match = true;
-
-            if (filters != null) {
-                for (Iterator<String> it = filters.keySet().iterator(); it.hasNext();) {
-                    try {
-                        String filterProperty = it.next();
-                        Object filterValue = filters.get(filterProperty).getFilterValue();
-                        String fieldValue = String.valueOf(car.getClass().getField(filterProperty).get(car));
-
-                        if (filterValue == null || fieldValue.startsWith(filterValue.toString())) {
-                            match = true;
-                        }
-                        else {
-                            match = false;
-                            break;
-                        }
-                    }
-                    catch (Exception e) {
-                        match = false;
-                    }
-                }
-            }
-
-            if (match) {
-                data.add(car);
-            }
-        }
-
-        //sort
-        if (sortField != null) {
-            Collections.sort(data, new LazySorter(sortField, sortOrder));
-        }
-
-        //rowCount
-        int dataSize = data.size();
-        this.setRowCount(dataSize);
-
-        //paginate
-        if (dataSize > pageSize) {
-            try {
-                return data.subList(first, first + pageSize);
-            }
-            catch (IndexOutOfBoundsException e) {
-                return data.subList(first, first + (dataSize % pageSize));
-            }
-        }
-        else {
-            return data;
-        }
-    }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.myfaces.core.extensions.quarkus.showcase.view;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import org.primefaces.model.FilterMeta;
+import org.primefaces.model.LazyDataModel;
+import org.primefaces.model.SortOrder;
+
+/**
+ * Dummy implementation of LazyDataModel that uses a list to mimic a real datasource like a database.
+ */
+public class LazyCarDataModel extends LazyDataModel<Car> {
+
+    private List<Car> datasource;
+
+    public LazyCarDataModel(List<Car> datasource) {
+        this.datasource = datasource;
+    }
+
+    @Override
+    public Car getRowData(String rowKey) {
+        for (Car car : datasource) {
+            if (car.getId().equals(rowKey)) {
+                return car;
+            }
+        }
+
+        return null;
+    }
+
+    @Override
+    public Object getRowKey(Car car) {
+        return car.getId();
+    }
+
+    @Override
+    public List<Car> load(int first, int pageSize, String sortField, SortOrder sortOrder, Map<String, FilterMeta> filters) {
+        List<Car> data = new ArrayList<Car>();
+
+        //filter
+        for (Car car : datasource) {
+            boolean match = true;
+
+            if (filters != null) {
+                for (Iterator<String> it = filters.keySet().iterator(); it.hasNext();) {
+                    try {
+                        String filterProperty = it.next();
+                        Object filterValue = filters.get(filterProperty).getFilterValue();
+                        String fieldValue = String.valueOf(car.getClass().getField(filterProperty).get(car));
+
+                        if (filterValue == null || fieldValue.startsWith(filterValue.toString())) {
+                            match = true;
+                        }
+                        else {
+                            match = false;
+                            break;
+                        }
+                    }
+                    catch (Exception e) {
+                        match = false;
+                    }
+                }
+            }
+
+            if (match) {
+                data.add(car);
+            }
+        }
+
+        //sort
+        if (sortField != null) {
+            Collections.sort(data, new LazySorter(sortField, sortOrder));
+        }
+
+        //rowCount
+        int dataSize = data.size();
+        this.setRowCount(dataSize);
+
+        //paginate
+        if (dataSize > pageSize) {
+            try {
+                return data.subList(first, first + pageSize);
+            }
+            catch (IndexOutOfBoundsException e) {
+                return data.subList(first, first + (dataSize % pageSize));
+            }
+        }
+        else {
+            return data;
+        }
+    }
+}
diff --git a/extensions/quarkus/showcase/src/main/java/org/apache/myfaces/core/extensions/quarkus/showcase/view/LazySorter.java b/extensions/quarkus/showcase/src/main/java/org/apache/myfaces/core/extensions/quarkus/showcase/view/LazySorter.java
index 4774fa9..0338c63 100644
--- a/extensions/quarkus/showcase/src/main/java/org/apache/myfaces/core/extensions/quarkus/showcase/view/LazySorter.java
+++ b/extensions/quarkus/showcase/src/main/java/org/apache/myfaces/core/extensions/quarkus/showcase/view/LazySorter.java
@@ -1,56 +1,56 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.myfaces.core.extensions.quarkus.showcase.view;
-
-import java.util.Comparator;
-import org.primefaces.model.SortOrder;
-
-public class LazySorter implements Comparator<Car> {
- 
-    private String sortField;
-    private SortOrder sortOrder;
-     
-    public LazySorter(String sortField, SortOrder sortOrder) {
-        this.sortField = sortField;
-        this.sortOrder = sortOrder;
-    }
- 
-    @Override
-    public int compare(Car car1, Car car2) {
-        try {
-            Object value1 = Car.class.getMethod("get" + capitalize(this.sortField)).invoke(car1);
-            Object value2 = Car.class.getMethod("get" + capitalize(this.sortField)).invoke(car2);
- 
-            int value = ((Comparable) value1).compareTo(value2);
-             
-            return SortOrder.ASCENDING.equals(sortOrder) ? value : -1 * value;
-        } 
-        catch (Exception e) {
-            throw new RuntimeException(e);
-        }
-    }
-    
-    public String capitalize(String value) {
-        if (value == null || value.trim().isEmpty()) {
-            return null;
-        }
-        
-        return value.substring(0, 1).toUpperCase() + value.substring(1);
-    }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.myfaces.core.extensions.quarkus.showcase.view;
+
+import java.util.Comparator;
+import org.primefaces.model.SortOrder;
+
+public class LazySorter implements Comparator<Car> {
+ 
+    private String sortField;
+    private SortOrder sortOrder;
+     
+    public LazySorter(String sortField, SortOrder sortOrder) {
+        this.sortField = sortField;
+        this.sortOrder = sortOrder;
+    }
+ 
+    @Override
+    public int compare(Car car1, Car car2) {
+        try {
+            Object value1 = Car.class.getMethod("get" + capitalize(this.sortField)).invoke(car1);
+            Object value2 = Car.class.getMethod("get" + capitalize(this.sortField)).invoke(car2);
+ 
+            int value = ((Comparable) value1).compareTo(value2);
+             
+            return SortOrder.ASCENDING.equals(sortOrder) ? value : -1 * value;
+        } 
+        catch (Exception e) {
+            throw new RuntimeException(e);
+        }
+    }
+    
+    public String capitalize(String value) {
+        if (value == null || value.trim().isEmpty()) {
+            return null;
+        }
+        
+        return value.substring(0, 1).toUpperCase() + value.substring(1);
+    }
+}
diff --git a/extensions/quarkus/showcase/src/main/java/org/apache/myfaces/core/extensions/quarkus/showcase/view/LazyView.java b/extensions/quarkus/showcase/src/main/java/org/apache/myfaces/core/extensions/quarkus/showcase/view/LazyView.java
index 2f7f031..be59f8a 100644
--- a/extensions/quarkus/showcase/src/main/java/org/apache/myfaces/core/extensions/quarkus/showcase/view/LazyView.java
+++ b/extensions/quarkus/showcase/src/main/java/org/apache/myfaces/core/extensions/quarkus/showcase/view/LazyView.java
@@ -1,82 +1,82 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.myfaces.core.extensions.quarkus.showcase.view;
-
-import java.io.Serializable;
-import javax.annotation.PostConstruct;
-import jakarta.faces.application.FacesMessage;
-import jakarta.faces.context.FacesContext;
-import jakarta.faces.view.ViewScoped;
-import javax.inject.Inject;
-import javax.inject.Named;
-import org.primefaces.event.SelectEvent;
-import org.primefaces.model.LazyDataModel;
-
-@Named("dtLazyView")
-@ViewScoped
-public class LazyView implements Serializable {
-
-    private LazyDataModel<Car> lazyModel;
-
-    private Car selectedCar;
-
-    private String inputVal;
-
-    @Inject
-    CarService service;
-
-    @PostConstruct
-    public void init() {
-        lazyModel = new LazyCarDataModel(service.createCars(200));
-    }
-
-    public LazyDataModel<Car> getLazyModel() {
-        return lazyModel;
-    }
-
-    public Car getSelectedCar() {
-        return selectedCar;
-    }
-
-    public void setSelectedCar(Car selectedCar) {
-        this.selectedCar = selectedCar;
-    }
-
-    public void setService(CarService service) {
-        this.service = service;
-    }
-
-    public void onRowSelect(SelectEvent event) {
-        FacesMessage msg = new FacesMessage("Car Selected", ((Car) event.getObject()).getId());
-        FacesContext.getCurrentInstance().addMessage(null, msg);
-    }
-
-    public String getInputVal() {
-        return inputVal;
-    }
-
-    public void setInputVal(String inputVal) {
-        this.inputVal = inputVal;
-    }
-
-    public void saveInput() {
-        System.out.println("Input val is: " + inputVal);
-        System.out.println("Input val is null?" + (inputVal == null));
-    }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.myfaces.core.extensions.quarkus.showcase.view;
+
+import java.io.Serializable;
+import javax.annotation.PostConstruct;
+import jakarta.faces.application.FacesMessage;
+import jakarta.faces.context.FacesContext;
+import jakarta.faces.view.ViewScoped;
+import javax.inject.Inject;
+import javax.inject.Named;
+import org.primefaces.event.SelectEvent;
+import org.primefaces.model.LazyDataModel;
+
+@Named("dtLazyView")
+@ViewScoped
+public class LazyView implements Serializable {
+
+    private LazyDataModel<Car> lazyModel;
+
+    private Car selectedCar;
+
+    private String inputVal;
+
+    @Inject
+    CarService service;
+
+    @PostConstruct
+    public void init() {
+        lazyModel = new LazyCarDataModel(service.createCars(200));
+    }
+
+    public LazyDataModel<Car> getLazyModel() {
+        return lazyModel;
+    }
+
+    public Car getSelectedCar() {
+        return selectedCar;
+    }
+
+    public void setSelectedCar(Car selectedCar) {
+        this.selectedCar = selectedCar;
+    }
+
+    public void setService(CarService service) {
+        this.service = service;
+    }
+
+    public void onRowSelect(SelectEvent event) {
+        FacesMessage msg = new FacesMessage("Car Selected", ((Car) event.getObject()).getId());
+        FacesContext.getCurrentInstance().addMessage(null, msg);
+    }
+
+    public String getInputVal() {
+        return inputVal;
+    }
+
+    public void setInputVal(String inputVal) {
+        this.inputVal = inputVal;
+    }
+
+    public void saveInput() {
+        System.out.println("Input val is: " + inputVal);
+        System.out.println("Input val is null?" + (inputVal == null));
+    }
+}
diff --git a/extensions/quarkus/showcase/src/main/java/org/apache/myfaces/core/extensions/quarkus/showcase/view/MethodHandleELResolverBean.java b/extensions/quarkus/showcase/src/main/java/org/apache/myfaces/core/extensions/quarkus/showcase/view/MethodHandleELResolverBean.java
index 2941f1b..a3ad372 100644
--- a/extensions/quarkus/showcase/src/main/java/org/apache/myfaces/core/extensions/quarkus/showcase/view/MethodHandleELResolverBean.java
+++ b/extensions/quarkus/showcase/src/main/java/org/apache/myfaces/core/extensions/quarkus/showcase/view/MethodHandleELResolverBean.java
@@ -1,88 +1,88 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.myfaces.core.extensions.quarkus.showcase.view;
-
-import java.io.Serializable;
-import java.util.List;
-import javax.annotation.PostConstruct;
-import javax.enterprise.context.ApplicationScoped;
-import jakarta.faces.event.PhaseEvent;
-import jakarta.faces.event.PhaseId;
-import jakarta.faces.event.PhaseListener;
-import javax.inject.Inject;
-import javax.inject.Named;
-
-@Named
-@ApplicationScoped
-public class MethodHandleELResolverBean implements Serializable, PhaseListener {
-
-    @Inject
-    CarService service;
-    
-    private List<Car> cars;
-    
-    private int test;
-    private String test2;
-    
-    private long start;
-
-    @PostConstruct
-    public void init() {
-        cars = service.createCars(20000);
-    }
-
-    public List<Car> getCars() {
-        return cars;
-    }
-
-    public void setCars(List<Car> cars) {
-        this.cars = cars;
-    }
-    
-    public int getTest() {
-        return test;
-    }
-
-    public void setTest(int test) {
-        this.test = test;
-    }
-
-    public String getTest2() {
-        return test2;
-    }
-
-    public void setTest2(String test2) {
-        this.test2 = test2;
-    }
- 
-    @Override
-    public void afterPhase(PhaseEvent event) {
-        System.err.println((System.currentTimeMillis() - start) + "ms");
-    }
-
-    @Override
-    public void beforePhase(PhaseEvent event) {
-        start = System.currentTimeMillis();
-    }
-
-    @Override
-    public PhaseId getPhaseId() {
-        return PhaseId.RENDER_RESPONSE;
-    }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.myfaces.core.extensions.quarkus.showcase.view;
+
+import java.io.Serializable;
+import java.util.List;
+import javax.annotation.PostConstruct;
+import javax.enterprise.context.ApplicationScoped;
+import jakarta.faces.event.PhaseEvent;
+import jakarta.faces.event.PhaseId;
+import jakarta.faces.event.PhaseListener;
+import javax.inject.Inject;
+import javax.inject.Named;
+
+@Named
+@ApplicationScoped
+public class MethodHandleELResolverBean implements Serializable, PhaseListener {
+
+    @Inject
+    CarService service;
+    
+    private List<Car> cars;
+    
+    private int test;
+    private String test2;
+    
+    private long start;
+
+    @PostConstruct
+    public void init() {
+        cars = service.createCars(20000);
+    }
+
+    public List<Car> getCars() {
+        return cars;
+    }
+
+    public void setCars(List<Car> cars) {
+        this.cars = cars;
+    }
+    
+    public int getTest() {
+        return test;
+    }
+
+    public void setTest(int test) {
+        this.test = test;
+    }
+
+    public String getTest2() {
+        return test2;
+    }
+
+    public void setTest2(String test2) {
+        this.test2 = test2;
+    }
+ 
+    @Override
+    public void afterPhase(PhaseEvent event) {
+        System.err.println((System.currentTimeMillis() - start) + "ms");
+    }
+
+    @Override
+    public void beforePhase(PhaseEvent event) {
+        start = System.currentTimeMillis();
+    }
+
+    @Override
+    public PhaseId getPhaseId() {
+        return PhaseId.RENDER_RESPONSE;
+    }
+}
diff --git a/extensions/quarkus/showcase/src/main/java/org/apache/myfaces/core/extensions/quarkus/showcase/view/MyBacking.java b/extensions/quarkus/showcase/src/main/java/org/apache/myfaces/core/extensions/quarkus/showcase/view/MyBacking.java
index 28e3fd7..42a15ff 100644
--- a/extensions/quarkus/showcase/src/main/java/org/apache/myfaces/core/extensions/quarkus/showcase/view/MyBacking.java
+++ b/extensions/quarkus/showcase/src/main/java/org/apache/myfaces/core/extensions/quarkus/showcase/view/MyBacking.java
@@ -1,54 +1,54 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.myfaces.core.extensions.quarkus.showcase.view;
-
-import javax.annotation.PostConstruct;
-import javax.enterprise.context.RequestScoped;
-import javax.inject.Inject;
-import javax.inject.Named;
-
-@Named
-@RequestScoped
-public class MyBacking {
-    
-    @Inject
-    CarService carService;
-    
-    private MyCollection<Car> cars;
-    
-    @PostConstruct
-    public void init()
-    {
-        cars = new MyCollection<>();
-        for (Car car : carService.createCars(100))
-        {
-            cars.add(car);
-        }
-    }
-
-    public MyCollection<Car> getCars() {
-        return cars;
-    }
-
-    public void setCars(MyCollection<Car> cars) {
-        this.cars = cars;
-    }
-    
-    
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.myfaces.core.extensions.quarkus.showcase.view;
+
+import javax.annotation.PostConstruct;
+import javax.enterprise.context.RequestScoped;
+import javax.inject.Inject;
+import javax.inject.Named;
+
+@Named
+@RequestScoped
+public class MyBacking {
+    
+    @Inject
+    CarService carService;
+    
+    private MyCollection<Car> cars;
+    
+    @PostConstruct
+    public void init()
+    {
+        cars = new MyCollection<>();
+        for (Car car : carService.createCars(100))
+        {
+            cars.add(car);
+        }
+    }
+
+    public MyCollection<Car> getCars() {
+        return cars;
+    }
+
+    public void setCars(MyCollection<Car> cars) {
+        this.cars = cars;
+    }
+    
+    
+}
diff --git a/extensions/quarkus/showcase/src/main/java/org/apache/myfaces/core/extensions/quarkus/showcase/view/MyCollection.java b/extensions/quarkus/showcase/src/main/java/org/apache/myfaces/core/extensions/quarkus/showcase/view/MyCollection.java
index ea011ab..ad06ddd 100644
--- a/extensions/quarkus/showcase/src/main/java/org/apache/myfaces/core/extensions/quarkus/showcase/view/MyCollection.java
+++ b/extensions/quarkus/showcase/src/main/java/org/apache/myfaces/core/extensions/quarkus/showcase/view/MyCollection.java
@@ -1,26 +1,26 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.myfaces.core.extensions.quarkus.showcase.view;
-
-import java.util.ArrayList;
-
-public class MyCollection<T> extends ArrayList<T>
-{
-    
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.myfaces.core.extensions.quarkus.showcase.view;
+
+import java.util.ArrayList;
+
+public class MyCollection<T> extends ArrayList<T>
+{
+    
+}
diff --git a/extensions/quarkus/showcase/src/main/java/org/apache/myfaces/core/extensions/quarkus/showcase/view/MyCollectionModel.java b/extensions/quarkus/showcase/src/main/java/org/apache/myfaces/core/extensions/quarkus/showcase/view/MyCollectionModel.java
index a13291f..c5408df 100644
--- a/extensions/quarkus/showcase/src/main/java/org/apache/myfaces/core/extensions/quarkus/showcase/view/MyCollectionModel.java
+++ b/extensions/quarkus/showcase/src/main/java/org/apache/myfaces/core/extensions/quarkus/showcase/view/MyCollectionModel.java
@@ -1,39 +1,39 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.myfaces.core.extensions.quarkus.showcase.view;
-
-import java.util.List;
-import jakarta.faces.model.FacesDataModel;
-import jakarta.faces.model.ListDataModel;
-
-@FacesDataModel(forClass = MyCollection.class)
-public class MyCollectionModel<E> extends ListDataModel<E> {
-    
-    public MyCollectionModel()
-    {
-        super();
-        System.err.println("+++++++++++++++");
-    }
-
-    public MyCollectionModel(List<E> list)
-    {
-        super(list);
-        System.err.println("+++++++++++++++2");
-    }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.myfaces.core.extensions.quarkus.showcase.view;
+
+import java.util.List;
+import jakarta.faces.model.FacesDataModel;
+import jakarta.faces.model.ListDataModel;
+
+@FacesDataModel(forClass = MyCollection.class)
+public class MyCollectionModel<E> extends ListDataModel<E> {
+    
+    public MyCollectionModel()
+    {
+        super();
+        System.err.println("+++++++++++++++");
+    }
+
+    public MyCollectionModel(List<E> list)
+    {
+        super(list);
+        System.err.println("+++++++++++++++2");
+    }
+}
diff --git a/extensions/quarkus/showcase/src/main/java/org/apache/myfaces/core/extensions/quarkus/showcase/view/MyConverter.java b/extensions/quarkus/showcase/src/main/java/org/apache/myfaces/core/extensions/quarkus/showcase/view/MyConverter.java
index 6f6d134..ae6c986 100644
--- a/extensions/quarkus/showcase/src/main/java/org/apache/myfaces/core/extensions/quarkus/showcase/view/MyConverter.java
+++ b/extensions/quarkus/showcase/src/main/java/org/apache/myfaces/core/extensions/quarkus/showcase/view/MyConverter.java
@@ -1,39 +1,39 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.myfaces.core.extensions.quarkus.showcase.view;
-
-import jakarta.faces.component.UIComponent;
-import jakarta.faces.context.FacesContext;
-import jakarta.faces.convert.Converter;
-import jakarta.faces.convert.ConverterException;
-import jakarta.faces.convert.FacesConverter;
-
-@FacesConverter(managed = false, value = "myConverter")
-public class MyConverter implements Converter<Object>{
-    @Override
-    public Object getAsObject(FacesContext context, UIComponent component, String value) throws ConverterException {
-        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
-    }
-
-    @Override
-    public String getAsString(FacesContext context, UIComponent component, Object value) throws ConverterException {
-        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
-    }
-    
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.myfaces.core.extensions.quarkus.showcase.view;
+
+import jakarta.faces.component.UIComponent;
+import jakarta.faces.context.FacesContext;
+import jakarta.faces.convert.Converter;
+import jakarta.faces.convert.ConverterException;
+import jakarta.faces.convert.FacesConverter;
+
+@FacesConverter(managed = false, value = "myConverter")
+public class MyConverter implements Converter<Object>{
+    @Override
+    public Object getAsObject(FacesContext context, UIComponent component, String value) throws ConverterException {
+        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
+    }
+
+    @Override
+    public String getAsString(FacesContext context, UIComponent component, Object value) throws ConverterException {
+        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
+    }
+    
+}
diff --git a/extensions/quarkus/showcase/src/main/java/org/apache/myfaces/core/extensions/quarkus/showcase/view/MyConverterManaged.java b/extensions/quarkus/showcase/src/main/java/org/apache/myfaces/core/extensions/quarkus/showcase/view/MyConverterManaged.java
index 8b972f9..e3df8f3 100644
--- a/extensions/quarkus/showcase/src/main/java/org/apache/myfaces/core/extensions/quarkus/showcase/view/MyConverterManaged.java
+++ b/extensions/quarkus/showcase/src/main/java/org/apache/myfaces/core/extensions/quarkus/showcase/view/MyConverterManaged.java
@@ -1,39 +1,39 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.myfaces.core.extensions.quarkus.showcase.view;
-
-import jakarta.faces.component.UIComponent;
-import jakarta.faces.context.FacesContext;
-import jakarta.faces.convert.Converter;
-import jakarta.faces.convert.ConverterException;
-import jakarta.faces.convert.FacesConverter;
-
-@FacesConverter(managed = true, value = "myConverterManaged")
-public class MyConverterManaged implements Converter<Object>{
-    @Override
-    public Object getAsObject(FacesContext context, UIComponent component, String value) throws ConverterException {
-        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
-    }
-
-    @Override
-    public String getAsString(FacesContext context, UIComponent component, Object value) throws ConverterException {
-        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
-    }
-    
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.myfaces.core.extensions.quarkus.showcase.view;
+
+import jakarta.faces.component.UIComponent;
+import jakarta.faces.context.FacesContext;
+import jakarta.faces.convert.Converter;
+import jakarta.faces.convert.ConverterException;
+import jakarta.faces.convert.FacesConverter;
+
+@FacesConverter(managed = true, value = "myConverterManaged")
+public class MyConverterManaged implements Converter<Object>{
+    @Override
+    public Object getAsObject(FacesContext context, UIComponent component, String value) throws ConverterException {
+        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
+    }
+
+    @Override
+    public String getAsString(FacesContext context, UIComponent component, Object value) throws ConverterException {
+        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
+    }
+    
+}
diff --git a/extensions/quarkus/showcase/src/main/java/org/apache/myfaces/core/extensions/quarkus/showcase/view/MyValidator.java b/extensions/quarkus/showcase/src/main/java/org/apache/myfaces/core/extensions/quarkus/showcase/view/MyValidator.java
index 92677f9..a3543a8 100644
--- a/extensions/quarkus/showcase/src/main/java/org/apache/myfaces/core/extensions/quarkus/showcase/view/MyValidator.java
+++ b/extensions/quarkus/showcase/src/main/java/org/apache/myfaces/core/extensions/quarkus/showcase/view/MyValidator.java
@@ -1,43 +1,43 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.myfaces.core.extensions.quarkus.showcase.view;
-
-import jakarta.faces.component.UIComponent;
-import jakarta.faces.context.FacesContext;
-import jakarta.faces.validator.FacesValidator;
-import jakarta.faces.validator.Validator;
-import jakarta.faces.validator.ValidatorException;
-import javax.inject.Inject;
-
-@FacesValidator(value = "myVal", managed = true)
-public class MyValidator implements Validator<String>{
-    
-    @Inject
-    CarService carService;
-    
-    public MyValidator()
-    {
-    }
-    
-    @Override
-    public void validate(FacesContext context, UIComponent component, String value) throws ValidatorException {
-        System.err.println("############### validate: " + value + " (carService=" + carService + ")");
-    }
-    
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.myfaces.core.extensions.quarkus.showcase.view;
+
+import jakarta.faces.component.UIComponent;
+import jakarta.faces.context.FacesContext;
+import jakarta.faces.validator.FacesValidator;
+import jakarta.faces.validator.Validator;
+import jakarta.faces.validator.ValidatorException;
+import javax.inject.Inject;
+
+@FacesValidator(value = "myVal", managed = true)
+public class MyValidator implements Validator<String>{
+    
+    @Inject
+    CarService carService;
+    
+    public MyValidator()
+    {
+    }
+    
+    @Override
+    public void validate(FacesContext context, UIComponent component, String value) throws ValidatorException {
+        System.err.println("############### validate: " + value + " (carService=" + carService + ")");
+    }
+    
... 55255 lines suppressed ...