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

gnodet pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git

commit 740c3b1a0235356346e8ee9ca38d0596513ca425
Author: Guillaume Nodet <gno...@gmail.com>
AuthorDate: Mon May 6 11:26:34 2024 +0200

    Cleanup
---
 .../camel/component/master/MasterConsumer.java     |  2 +-
 .../component/smpp/SmppConnectionFactory.java      |  2 +-
 .../camel/impl/engine/AbstractCamelContext.java    |  2 +-
 .../camel/impl/engine/CamelInternalProcessor.java  | 12 +---
 .../engine/DefaultAsyncProcessorAwaitManager.java  |  4 +-
 .../impl/engine/DefaultCamelContextExtension.java  |  3 -
 .../impl/engine/InternalRouteStartupManager.java   | 11 ++--
 .../camel/impl/engine/IntrospectionSupport.java    | 19 +++---
 .../AbstractLocationPropertiesSource.java          |  9 +--
 .../impl/cloud/ServiceCallProcessorFactory.java    |  5 +-
 .../camel/impl/cluster/ClusteredRoutePolicy.java   |  2 +-
 .../camel/impl/console/ConsumerDevConsole.java     |  6 +-
 .../camel/catalog/impl/AbstractCamelCatalog.java   | 11 ++--
 .../apache/camel/catalog/impl/CatalogHelper.java   |  5 +-
 .../org/apache/camel/impl/DefaultCamelContext.java |  9 ++-
 .../java/org/apache/camel/builder/AdviceWith.java  |  9 +--
 .../org/apache/camel/builder/AdviceWithTasks.java  |  2 +-
 .../org/apache/camel/builder/ExpressionClause.java |  2 +-
 .../camel/builder/FlexibleAggregationStrategy.java |  4 +-
 .../camel/model/ProcessorDefinitionHelper.java     |  2 +-
 .../processor/ClaimCheckAggregationStrategy.java   |  4 +-
 .../java/org/apache/camel/processor/Splitter.java  | 19 +-----
 .../errorhandler/DefaultErrorHandler.java          | 10 ----
 .../errorhandler/RedeliveryErrorHandler.java       | 58 ++++--------------
 .../processor/resequencer/ResequencerEngine.java   |  9 +--
 .../org/apache/camel/reifier/CatchReifier.java     | 12 +---
 .../reifier/errorhandler/ErrorHandlerReifier.java  |  6 +-
 .../rest/RestComponentVerifierExtensionTest.java   |  2 +-
 .../component/rest/RestComponentVerifierTest.java  |  2 +-
 .../management/JmxManagementLifecycleStrategy.java |  4 +-
 .../mbean/ManagedStreamCachingStrategy.java        | 34 +++++------
 .../management/mbean/RouteCoverageXmlParser.java   | 70 +++++++++++-----------
 .../ManagedStreamCachingStrategyTest.java          |  8 +++
 .../camel/converter/stream/CachedOutputStream.java |  6 +-
 .../org/apache/camel/support/AbstractExchange.java |  1 +
 .../camel/support/DefaultHeaderFilterStrategy.java |  2 +-
 .../DefaultScheduledPollConsumerScheduler.java     |  2 +-
 .../org/apache/camel/support/EndpointHelper.java   |  2 +-
 .../apache/camel/support/GroupTokenIterator.java   |  2 +-
 .../org/apache/camel/support/MessageHelper.java    |  4 +-
 .../org/apache/camel/support/ObjectHelper.java     | 18 +++---
 .../camel/support/PropertyBindingSupport.java      | 52 ++++++++--------
 .../builder/TokenPairExpressionIterator.java       |  5 +-
 .../apache/camel/support/cache/ServicePool.java    | 21 ++-----
 .../camel/support/cache/SimpleSoftCache.java       |  2 +
 .../camel/support/component/ApiMethodParser.java   |  2 +-
 .../org/apache/camel/support/jndi/JndiContext.java |  6 +-
 .../support/management/MBeanInfoAssembler.java     | 16 +++--
 .../camel/support/processor/CamelLogProcessor.java |  1 -
 .../camel/support/processor/RestBindingAdvice.java | 15 ++---
 .../apache/camel/support/resume/AdapterHelper.java |  2 +-
 .../java/org/apache/camel/util/CamelURIParser.java |  4 --
 .../main/java/org/apache/camel/util/FileUtil.java  |  7 +--
 .../main/java/org/apache/camel/util/HostUtils.java | 10 ++--
 .../main/java/org/apache/camel/util/IOHelper.java  |  2 +-
 .../java/org/apache/camel/util/ObjectHelper.java   |  2 +-
 .../camel/util/OrderedLocationProperties.java      |  2 +-
 .../java/org/apache/camel/util/StringHelper.java   |  2 +-
 .../org/apache/camel/util/StringQuoteHelper.java   |  5 +-
 .../java/org/apache/camel/util/URISupport.java     |  2 +-
 .../concurrent/SynchronousExecutorService.java     |  2 +-
 .../apache/camel/xml/io/util/XmlStreamReader.java  |  2 +-
 .../java/org/apache/camel/xml/in/BaseParser.java   | 10 ++--
 .../java/org/apache/camel/xml/io/MXParser.java     | 56 +++++++----------
 .../java/org/apache/camel/xml/jaxb/JaxbHelper.java | 12 ++--
 .../converter/jaxp/XMLStreamReaderInputStream.java |  2 +-
 .../processor/validation/ValidatingProcessor.java  |  7 +--
 67 files changed, 256 insertions(+), 389 deletions(-)

diff --git 
a/components/camel-master/src/main/java/org/apache/camel/component/master/MasterConsumer.java
 
b/components/camel-master/src/main/java/org/apache/camel/component/master/MasterConsumer.java
index e6d884efbbd..2204e82e322 100644
--- 
a/components/camel-master/src/main/java/org/apache/camel/component/master/MasterConsumer.java
+++ 
b/components/camel-master/src/main/java/org/apache/camel/component/master/MasterConsumer.java
@@ -40,7 +40,7 @@ import org.slf4j.LoggerFactory;
  * A consumer which is only really active when the {@link CamelClusterView} 
has the leadership.
  */
 @ManagedResource(description = "Managed Master Consumer")
-public class MasterConsumer extends DefaultConsumer implements ResumeAware {
+public class MasterConsumer extends DefaultConsumer implements 
ResumeAware<ResumeStrategy> {
     private static final transient Logger LOG = 
LoggerFactory.getLogger(MasterConsumer.class);
 
     private final CamelClusterService clusterService;
diff --git 
a/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppConnectionFactory.java
 
b/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppConnectionFactory.java
index 9b401610411..1ac673acf1a 100644
--- 
a/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppConnectionFactory.java
+++ 
b/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppConnectionFactory.java
@@ -170,7 +170,7 @@ public final class SmppConnectionFactory implements 
ConnectionFactory {
             }
 
             // read until empty line
-            for (; response.length() > 0;) {
+            while (!response.isEmpty()) {
                 response = reader.readLine();
                 if (response == null) {
                     throw new RuntimeCamelException("Proxy error: reached end 
of stream");
diff --git 
a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/AbstractCamelContext.java
 
b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/AbstractCamelContext.java
index 57d08b48da5..e4a8196fb38 100644
--- 
a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/AbstractCamelContext.java
+++ 
b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/AbstractCamelContext.java
@@ -923,7 +923,7 @@ public abstract class AbstractCamelContext extends 
BaseService
 
     @Override
     public List<Route> getRoutes() {
-        // lets return a copy of the collection as objects are removed later
+        // let's return a copy of the collection as objects are removed later
         // when services are stopped
         if (routes.isEmpty()) {
             return Collections.emptyList();
diff --git 
a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/CamelInternalProcessor.java
 
b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/CamelInternalProcessor.java
index ea0bc711009..f2b0faef125 100644
--- 
a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/CamelInternalProcessor.java
+++ 
b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/CamelInternalProcessor.java
@@ -76,6 +76,8 @@ import org.apache.camel.util.StopWatch;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import static java.util.Objects.requireNonNull;
+
 /**
  * Internal {@link Processor} that Camel routing engine used during routing 
for cross cutting functionality such as:
  * <ul>
@@ -119,7 +121,7 @@ public class CamelInternalProcessor extends 
DelegateAsyncProcessor implements In
 
     public CamelInternalProcessor(CamelContext camelContext) {
         this.camelContext = camelContext;
-        this.reactiveExecutor = 
camelContext.getCamelContextExtension().getReactiveExecutor();
+        this.reactiveExecutor = 
requireNonNull(camelContext.getCamelContextExtension().getReactiveExecutor());
         this.shutdownStrategy = camelContext.getShutdownStrategy();
     }
 
@@ -130,14 +132,6 @@ public class CamelInternalProcessor extends 
DelegateAsyncProcessor implements In
         this.shutdownStrategy = camelContext.getShutdownStrategy();
     }
 
-    private CamelInternalProcessor(Logger log) {
-        // used for eager loading
-        camelContext = null;
-        reactiveExecutor = null;
-        shutdownStrategy = null;
-        log.trace("Loaded {}", AsyncAfterTask.class.getSimpleName());
-    }
-
     @Override
     protected void doBuild() throws Exception {
         boolean pooled = 
camelContext.getCamelContextExtension().getExchangeFactory().isPooled();
diff --git 
a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultAsyncProcessorAwaitManager.java
 
b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultAsyncProcessorAwaitManager.java
index 92983c1670a..3e1d23f063f 100644
--- 
a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultAsyncProcessorAwaitManager.java
+++ 
b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultAsyncProcessorAwaitManager.java
@@ -188,9 +188,7 @@ public class DefaultAsyncProcessorAwaitManager extends 
ServiceSupport implements
 
                 // dump a route stack trace of the exchange
                 String routeStackTrace = 
MessageHelper.dumpMessageHistoryStacktrace(exchange, exchangeFormatter, false);
-                if (routeStackTrace != null) {
-                    sb.append(routeStackTrace);
-                }
+                sb.append(routeStackTrace);
                 LOG.warn(sb.toString());
 
             } catch (Exception e) {
diff --git 
a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultCamelContextExtension.java
 
b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultCamelContextExtension.java
index dbb99e835c4..cd84505f92e 100644
--- 
a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultCamelContextExtension.java
+++ 
b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultCamelContextExtension.java
@@ -229,9 +229,6 @@ class DefaultCamelContextExtension implements 
ExtendedCamelContext {
 
     @Override
     public Endpoint hasEndpoint(NormalizedEndpointUri uri) {
-        if (camelContext.getEndpointRegistry().isEmpty()) {
-            return null;
-        }
         return camelContext.getEndpointRegistry().get(uri);
     }
 
diff --git 
a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/InternalRouteStartupManager.java
 
b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/InternalRouteStartupManager.java
index ba608f0132b..697518b36e0 100644
--- 
a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/InternalRouteStartupManager.java
+++ 
b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/InternalRouteStartupManager.java
@@ -276,14 +276,13 @@ final class InternalRouteStartupManager {
         // check in existing already started as well
         for (RouteStartupOrder order : 
camelContext.getCamelContextExtension().getRouteStartupOrder()) {
             String otherId = order.getRoute().getId();
-            if (answer.getRoute().getId().equals(otherId)) {
-                // its the same route id so skip clash check as its the same
-                // route (can happen when using suspend/resume)
-            } else if (answer.getStartupOrder() == order.getStartupOrder()) {
+            // skip clash check if it's the same route id, as it's the same
+            // route (can happen when using suspend/resume)
+            if (!answer.getRoute().getId().equals(otherId)
+                    && answer.getStartupOrder() == order.getStartupOrder()) {
                 throw new FailedToStartRouteException(
                         answer.getRoute().getId(), "startupOrder clash. Route 
" + otherId + " already has startupOrder "
-                                                   + answer
-                                                           .getStartupOrder()
+                                                   + answer.getStartupOrder()
                                                    + " configured which this 
route have as well. Please correct startupOrder to be unique among all your 
routes.");
             }
         }
diff --git 
a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/IntrospectionSupport.java
 
b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/IntrospectionSupport.java
index 4aaae2c6cfe..d691fdd09c9 100644
--- 
a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/IntrospectionSupport.java
+++ 
b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/IntrospectionSupport.java
@@ -402,10 +402,8 @@ final class IntrospectionSupport {
     static boolean isPropertyIsGetter(Class<?> type, String propertyName) {
         try {
             Method method = type.getMethod("is" + 
StringHelper.capitalize(propertyName, true));
-            if (method != null) {
-                return method.getReturnType().isAssignableFrom(boolean.class)
-                        || 
method.getReturnType().isAssignableFrom(Boolean.class);
-            }
+            return method.getReturnType().isAssignableFrom(boolean.class)
+                    || method.getReturnType().isAssignableFrom(Boolean.class);
         } catch (NoSuchMethodException e) {
             // ignore
         }
@@ -481,7 +479,7 @@ final class IntrospectionSupport {
                 }
             }
             if (obj instanceof Map) {
-                Map map = (Map) obj;
+                Map<Object, Object> map = (Map) obj;
                 if (context != null && refName != null && value == null) {
                     String s = refName.replace("#", "");
                     value = CamelContextHelper.lookup(context, s);
@@ -489,7 +487,7 @@ final class IntrospectionSupport {
                 map.put(lookupKey, value);
                 return true;
             } else if (obj instanceof List) {
-                List list = (List) obj;
+                List<Object> list = (List) obj;
                 if (context != null && refName != null && value == null) {
                     String s = refName.replace("#", "");
                     value = CamelContextHelper.lookup(context, s);
@@ -507,8 +505,8 @@ final class IntrospectionSupport {
                         //
                         // Note that ArrayList is the default List impl that
                         // is automatically created if the property is null.
-                        if (list instanceof ArrayList) {
-                            ((ArrayList) list).ensureCapacity(idx + 1);
+                        if (list instanceof ArrayList<?> al) {
+                            al.ensureCapacity(idx + 1);
                         }
                         while (list.size() < idx) {
                             list.add(null);
@@ -519,7 +517,7 @@ final class IntrospectionSupport {
                     list.add(value);
                 }
                 return true;
-            } else if (obj.getClass().isArray() && lookupKey != null) {
+            } else if (obj != null && obj.getClass().isArray()) {
                 if (context != null && refName != null && value == null) {
                     String s = refName.replace("#", "");
                     value = CamelContextHelper.lookup(context, s);
@@ -618,8 +616,7 @@ final class IntrospectionSupport {
                     } else {
                         // We need to convert it
                         // special for boolean values with string values as we 
only want to accept "true" or "false"
-                        if ((parameterType == Boolean.class || parameterType 
== boolean.class) && ref instanceof String) {
-                            String val = (String) ref;
+                        if ((parameterType == Boolean.class || parameterType 
== boolean.class) && ref instanceof String val) {
                             if (!val.equalsIgnoreCase("true") && 
!val.equalsIgnoreCase("false")) {
                                 // this is our self
                                 myself = true;
diff --git 
a/core/camel-base/src/main/java/org/apache/camel/component/properties/AbstractLocationPropertiesSource.java
 
b/core/camel-base/src/main/java/org/apache/camel/component/properties/AbstractLocationPropertiesSource.java
index 89d3c2dbd5f..ee735a3cc1a 100644
--- 
a/core/camel-base/src/main/java/org/apache/camel/component/properties/AbstractLocationPropertiesSource.java
+++ 
b/core/camel-base/src/main/java/org/apache/camel/component/properties/AbstractLocationPropertiesSource.java
@@ -68,9 +68,8 @@ public abstract class AbstractLocationPropertiesSource 
extends ServiceSupport
 
     @Override
     public void reloadProperties(String location) {
-        String resolver = null;
-        if (ResourceHelper.hasScheme(location)) {
-            resolver = ResourceHelper.getScheme(location);
+        String resolver = ResourceHelper.getScheme(location);
+        if (resolver != null) {
             location = location.substring(resolver.length());
         }
         PropertiesLocation loc = new PropertiesLocation(resolver, location);
@@ -128,9 +127,7 @@ public abstract class AbstractLocationPropertiesSource 
extends ServiceSupport
         for (Map.Entry<Object, Object> entry : properties.entrySet()) {
             Object key = entry.getKey();
             Object value = entry.getValue();
-            if (value instanceof String) {
-                String s = (String) value;
-
+            if (value instanceof String s) {
                 // trim any trailing spaces which can be a problem when 
loading from
                 // a properties file, note that java.util.Properties do 
already this
                 // for any potential leading spaces so there's nothing to do 
there
diff --git 
a/core/camel-cloud/src/main/java/org/apache/camel/impl/cloud/ServiceCallProcessorFactory.java
 
b/core/camel-cloud/src/main/java/org/apache/camel/impl/cloud/ServiceCallProcessorFactory.java
index d4e9ab79e33..dc42fff7804 100644
--- 
a/core/camel-cloud/src/main/java/org/apache/camel/impl/cloud/ServiceCallProcessorFactory.java
+++ 
b/core/camel-cloud/src/main/java/org/apache/camel/impl/cloud/ServiceCallProcessorFactory.java
@@ -416,8 +416,7 @@ public class ServiceCallProcessorFactory extends 
TypedProcessorFactory<ServiceCa
                     = CamelContextHelper.lookup(camelContext, lookupName, 
ServiceExpressionFactory.class);
             if (factory != null) {
                 // If a factory is found in the registry do not re-configure it
-                // as
-                // it should be pre-configured.
+                // as it should be pre-configured.
                 return factory.newInstance(camelContext);
             } else {
 
@@ -427,7 +426,7 @@ public class ServiceCallProcessorFactory extends 
TypedProcessorFactory<ServiceCa
                     // Then use Service factory.
                     type = camelContext.getCamelContextExtension()
                             
.getFactoryFinder(ServiceCallDefinitionConstants.RESOURCE_PATH).findClass(lookupName).orElse(null);
-                } catch (Exception e) {
+                } catch (Exception ignore) {
                 }
 
                 if (ObjectHelper.isNotEmpty(type)) {
diff --git 
a/core/camel-cluster/src/main/java/org/apache/camel/impl/cluster/ClusteredRoutePolicy.java
 
b/core/camel-cluster/src/main/java/org/apache/camel/impl/cluster/ClusteredRoutePolicy.java
index 7a82060acf8..28e2a3032d9 100644
--- 
a/core/camel-cluster/src/main/java/org/apache/camel/impl/cluster/ClusteredRoutePolicy.java
+++ 
b/core/camel-cluster/src/main/java/org/apache/camel/impl/cluster/ClusteredRoutePolicy.java
@@ -113,7 +113,7 @@ public final class ClusteredRoutePolicy extends 
RoutePolicySupport implements Ca
             return;
         }
 
-        if (this.camelContext != null && this.camelContext != camelContext) {
+        if (this.camelContext != null) {
             throw new IllegalStateException(
                     "CamelContext should not be changed: current=" + 
this.camelContext + ", new=" + camelContext);
         }
diff --git 
a/core/camel-console/src/main/java/org/apache/camel/impl/console/ConsumerDevConsole.java
 
b/core/camel-console/src/main/java/org/apache/camel/impl/console/ConsumerDevConsole.java
index 420346bc035..89c574bce8b 100644
--- 
a/core/camel-console/src/main/java/org/apache/camel/impl/console/ConsumerDevConsole.java
+++ 
b/core/camel-console/src/main/java/org/apache/camel/impl/console/ConsumerDevConsole.java
@@ -211,10 +211,8 @@ public class ConsumerDevConsole extends AbstractDevConsole 
{
                         }
                     }
 
-                    if (mr != null) {
-                        final JsonObject stats = toJsonObject(mr);
-                        jo.put("statistics", stats);
-                    }
+                    final JsonObject stats = toJsonObject(mr);
+                    jo.put("statistics", stats);
 
                     list.add(jo);
                 }
diff --git 
a/core/camel-core-catalog/src/main/java/org/apache/camel/catalog/impl/AbstractCamelCatalog.java
 
b/core/camel-core-catalog/src/main/java/org/apache/camel/catalog/impl/AbstractCamelCatalog.java
index cf8e961913f..f1d677d596c 100644
--- 
a/core/camel-core-catalog/src/main/java/org/apache/camel/catalog/impl/AbstractCamelCatalog.java
+++ 
b/core/camel-core-catalog/src/main/java/org/apache/camel/catalog/impl/AbstractCamelCatalog.java
@@ -517,8 +517,8 @@ public abstract class AbstractCamelCatalog {
             // grab authority part and grab username and/or password
             String authority = u.getAuthority();
             if (authority != null && authority.contains("@")) {
-                String username = null;
-                String password = null;
+                String username;
+                String password;
 
                 // grab unserinfo part before @
                 String userInfo = authority.substring(0, 
authority.indexOf('@'));
@@ -529,6 +529,7 @@ public abstract class AbstractCamelCatalog {
                 } else {
                     // only username
                     username = userInfo;
+                    password = null;
                 }
 
                 // remember the username and/or password which we add later to 
the options
@@ -1326,9 +1327,9 @@ public abstract class AbstractCamelCatalog {
 
         LanguageValidationResult answer = new LanguageValidationResult(simple);
 
-        Object context = null;
+        Object context;
         Object instance = null;
-        Class<?> clazz = null;
+        Class<?> clazz;
 
         try {
             // need a simple camel context for the simple language parser to 
be able to parse
@@ -1343,7 +1344,7 @@ public abstract class AbstractCamelCatalog {
             answer.setError(e.getMessage());
         }
 
-        if (clazz != null && context != null && instance != null) {
+        if (clazz != null) {
             Throwable cause = null;
             try {
                 if (predicate) {
diff --git 
a/core/camel-core-catalog/src/main/java/org/apache/camel/catalog/impl/CatalogHelper.java
 
b/core/camel-core-catalog/src/main/java/org/apache/camel/catalog/impl/CatalogHelper.java
index 53be303b875..5039eccea26 100644
--- 
a/core/camel-core-catalog/src/main/java/org/apache/camel/catalog/impl/CatalogHelper.java
+++ 
b/core/camel-core-catalog/src/main/java/org/apache/camel/catalog/impl/CatalogHelper.java
@@ -182,7 +182,6 @@ public final class CatalogHelper {
         Map<String, Object> rc = new LinkedHashMap<>();
 
         boolean isKey = true;
-        boolean isValue = false;
         boolean isRaw = false;
         StringBuilder key = new StringBuilder();
         StringBuilder value = new StringBuilder();
@@ -197,7 +196,6 @@ public final class CatalogHelper {
             // if its a key and there is a = sign then the key ends and we are 
in value mode
             if (isKey && ch == '=') {
                 isKey = false;
-                isValue = true;
                 isRaw = false;
                 continue;
             }
@@ -211,7 +209,6 @@ public final class CatalogHelper {
                 key.setLength(0);
                 value.setLength(0);
                 isKey = true;
-                isValue = false;
                 isRaw = false;
                 continue;
             }
@@ -219,7 +216,7 @@ public final class CatalogHelper {
             // regular char so add it to the key or value
             if (isKey) {
                 key.append(ch);
-            } else if (isValue) {
+            } else {
                 value.append(ch);
             }
         }
diff --git 
a/core/camel-core-engine/src/main/java/org/apache/camel/impl/DefaultCamelContext.java
 
b/core/camel-core-engine/src/main/java/org/apache/camel/impl/DefaultCamelContext.java
index 5220affbd44..01ae79b13c0 100644
--- 
a/core/camel-core-engine/src/main/java/org/apache/camel/impl/DefaultCamelContext.java
+++ 
b/core/camel-core-engine/src/main/java/org/apache/camel/impl/DefaultCamelContext.java
@@ -645,7 +645,7 @@ public class DefaultCamelContext extends SimpleCamelContext 
implements ModelCame
                     }
 
                     // copy parameters/bean repository to not cause side effect
-                    Map<Object, Object> params = new 
HashMap<>(routeDefinition.getTemplateParameters());
+                    Map<String, Object> params = new 
HashMap<>(routeDefinition.getTemplateParameters());
                     LocalBeanRegistry bbr
                             = (LocalBeanRegistry) 
routeDefinition.getRouteTemplateContext().getLocalBeanRepository();
                     LocalBeanRegistry bbrCopy = new LocalBeanRegistry();
@@ -655,10 +655,9 @@ public class DefaultCamelContext extends 
SimpleCamelContext implements ModelCame
                     // no side-effect from previously used values that Camel 
may use in its endpoint
                     // registry and elsewhere
                     if (bbr != null && !bbr.isEmpty()) {
-                        for (Map.Entry<Object, Object> param : 
params.entrySet()) {
+                        for (Map.Entry<String, Object> param : 
params.entrySet()) {
                             Object value = param.getValue();
-                            if (value instanceof String) {
-                                String oldKey = (String) value;
+                            if (value instanceof String oldKey) {
                                 boolean clash = bbr.keys().stream().anyMatch(k 
-> k.equals(oldKey));
                                 if (clash) {
                                     String newKey = oldKey + "-" + 
UUID.generateUuid();
@@ -702,7 +701,7 @@ public class DefaultCamelContext extends SimpleCamelContext 
implements ModelCame
                     pc.setLocalProperties(prop);
 
                     // we need to shadow the bean registry on the CamelContext 
with the local beans from the route template context
-                    if (localBeans != null && bbrCopy != null) {
+                    if (localBeans != null) {
                         localBeans.setLocalBeanRepository(bbrCopy);
                     }
 
diff --git 
a/core/camel-core-model/src/main/java/org/apache/camel/builder/AdviceWith.java 
b/core/camel-core-model/src/main/java/org/apache/camel/builder/AdviceWith.java
index a0407c3fa20..fca6e2e4e65 100644
--- 
a/core/camel-core-model/src/main/java/org/apache/camel/builder/AdviceWith.java
+++ 
b/core/camel-core-model/src/main/java/org/apache/camel/builder/AdviceWith.java
@@ -213,10 +213,11 @@ public final class AdviceWith {
         RoutesDefinition routes = builder.configureRoutes(camelContext);
 
         // was logging enabled or disabled
-        boolean logRoutesAsXml = true;
-        if (builder instanceof AdviceWithRouteBuilder) {
-            AdviceWithRouteBuilder arb = (AdviceWithRouteBuilder) builder;
+        boolean logRoutesAsXml;
+        if (builder instanceof AdviceWithRouteBuilder arb) {
             logRoutesAsXml = arb.isLogRouteAsXml();
+        } else {
+            logRoutesAsXml = true;
         }
 
         LOG.debug("AdviceWith routes: {}", routes);
@@ -276,7 +277,7 @@ public final class AdviceWith {
             LOG.info("AdviceWith route after: {}", merged);
         }
 
-        if (beforeAsXml != null && logRoutesAsXml && LOG.isInfoEnabled()) {
+        if (beforeAsXml != null && LOG.isInfoEnabled()) {
             try {
                 ModelToXMLDumper modelToXMLDumper = 
PluginHelper.getModelToXMLDumper(ecc);
                 String afterAsXml = 
modelToXMLDumper.dumpModelAsXml(camelContext, merged);
diff --git 
a/core/camel-core-model/src/main/java/org/apache/camel/builder/AdviceWithTasks.java
 
b/core/camel-core-model/src/main/java/org/apache/camel/builder/AdviceWithTasks.java
index 05de7c02a4d..0707871811e 100644
--- 
a/core/camel-core-model/src/main/java/org/apache/camel/builder/AdviceWithTasks.java
+++ 
b/core/camel-core-model/src/main/java/org/apache/camel/builder/AdviceWithTasks.java
@@ -467,7 +467,7 @@ public final class AdviceWithTasks {
         List<ProcessorDefinition<?>> outputs = parent.getOutputs();
         boolean allAbstract = true;
         for (ProcessorDefinition<?> def : outputs) {
-            allAbstract &= def.isAbstract();
+            allAbstract = def.isAbstract();
             if (!allAbstract) {
                 break;
             }
diff --git 
a/core/camel-core-model/src/main/java/org/apache/camel/builder/ExpressionClause.java
 
b/core/camel-core-model/src/main/java/org/apache/camel/builder/ExpressionClause.java
index 5236fa8169c..8e69e344c72 100644
--- 
a/core/camel-core-model/src/main/java/org/apache/camel/builder/ExpressionClause.java
+++ 
b/core/camel-core-model/src/main/java/org/apache/camel/builder/ExpressionClause.java
@@ -1055,7 +1055,7 @@ public class ExpressionClause<T> implements Expression, 
Predicate {
     }
 
     @Override
-    public <T> T evaluate(Exchange exchange, Class<T> type) {
+    public <U> U evaluate(Exchange exchange, Class<U> type) {
         init(exchange.getContext());
         return expr.evaluate(exchange, type);
     }
diff --git 
a/core/camel-core-model/src/main/java/org/apache/camel/builder/FlexibleAggregationStrategy.java
 
b/core/camel-core-model/src/main/java/org/apache/camel/builder/FlexibleAggregationStrategy.java
index 40d357682cf..50f182e7240 100644
--- 
a/core/camel-core-model/src/main/java/org/apache/camel/builder/FlexibleAggregationStrategy.java
+++ 
b/core/camel-core-model/src/main/java/org/apache/camel/builder/FlexibleAggregationStrategy.java
@@ -291,9 +291,7 @@ public class FlexibleAggregationStrategy<E> implements 
AggregationStrategy {
                 collection = collectionType.cast(oldValue);
             }
 
-            if (collection != null) {
-                collection.add(toInsert);
-            }
+            collection.add(toInsert);
 
         } catch (ClassCastException exception) {
             if (!ignoreInvalidCasts) {
diff --git 
a/core/camel-core-model/src/main/java/org/apache/camel/model/ProcessorDefinitionHelper.java
 
b/core/camel-core-model/src/main/java/org/apache/camel/model/ProcessorDefinitionHelper.java
index d376c1b5c0a..9c54a6df6af 100644
--- 
a/core/camel-core-model/src/main/java/org/apache/camel/model/ProcessorDefinitionHelper.java
+++ 
b/core/camel-core-model/src/main/java/org/apache/camel/model/ProcessorDefinitionHelper.java
@@ -202,7 +202,7 @@ public final class ProcessorDefinitionHelper {
 
         // add ourselves
         if (node.getId() != null) {
-            if (!onlyCustomId || node.hasCustomIdAssigned() && onlyCustomId) {
+            if (!onlyCustomId || node.hasCustomIdAssigned()) {
                 set.add(node.getId());
             }
         }
diff --git 
a/core/camel-core-processor/src/main/java/org/apache/camel/processor/ClaimCheckAggregationStrategy.java
 
b/core/camel-core-processor/src/main/java/org/apache/camel/processor/ClaimCheckAggregationStrategy.java
index d5a8659330b..1c8bf44cef7 100644
--- 
a/core/camel-core-processor/src/main/java/org/apache/camel/processor/ClaimCheckAggregationStrategy.java
+++ 
b/core/camel-core-processor/src/main/java/org/apache/camel/processor/ClaimCheckAggregationStrategy.java
@@ -117,10 +117,10 @@ public class ClaimCheckAggregationStrategy implements 
AggregationStrategy {
             Iterable<?> it = ObjectHelper.createIterable(filter, ",");
             for (Object k : it) {
                 String part = k.toString();
-                if (("body".equals(part) || "+body".equals(part)) && 
!"-body".equals(part)) {
+                if ("body".equals(part) || "+body".equals(part)) {
                     
oldExchange.getMessage().setBody(newExchange.getMessage().getBody());
                     LOG.trace("Including: body");
-                } else if (("headers".equals(part) || "+headers".equals(part)) 
&& !"-headers".equals(part)) {
+                } else if ("headers".equals(part) || "+headers".equals(part)) {
                     
oldExchange.getMessage().getHeaders().putAll(newExchange.getMessage().getHeaders());
                     LOG.trace("Including: headers");
                 }
diff --git 
a/core/camel-core-processor/src/main/java/org/apache/camel/processor/Splitter.java
 
b/core/camel-core-processor/src/main/java/org/apache/camel/processor/Splitter.java
index 66df200c9ad..72c557ccbe2 100644
--- 
a/core/camel-core-processor/src/main/java/org/apache/camel/processor/Splitter.java
+++ 
b/core/camel-core-processor/src/main/java/org/apache/camel/processor/Splitter.java
@@ -109,9 +109,8 @@ public class Splitter extends MulticastProcessor implements 
AsyncProcessor, Trac
         AggregationStrategy strategy = getAggregationStrategy();
 
         // set original exchange if not already pre-configured
-        if (strategy instanceof UseOriginalAggregationStrategy) {
+        if (strategy instanceof UseOriginalAggregationStrategy original) {
             // need to create a new private instance, as we can also have 
concurrency issue so we cannot store state
-            UseOriginalAggregationStrategy original = 
(UseOriginalAggregationStrategy) strategy;
             AggregationStrategy clone = original.newInstance(exchange);
             if (isShareUnitOfWork()) {
                 clone = new ShareUnitOfWorkAggregationStrategy(clone);
@@ -163,24 +162,12 @@ public class Splitter extends MulticastProcessor 
implements AsyncProcessor, Trac
 
         // create a copy which we use as master to copy during splitting
         // this avoids any side effect reflected upon the incoming exchange
-        final Object value;
-        final Iterator<?> iterator;
+        private final Object value;
+        private final Iterator<?> iterator;
         private Exchange copy;
         private final Route route;
         private final Exchange original;
 
-        private SplitterIterable() {
-            // used for eager classloading
-            value = null;
-            iterator = null;
-            copy = null;
-            route = null;
-            original = null;
-            // for loading classes from iterator
-            Object dummy = iterator();
-            LOG.trace("Loaded {}", dummy.getClass().getName());
-        }
-
         private SplitterIterable(Exchange exchange, Object value) {
             this.original = exchange;
             this.value = value;
diff --git 
a/core/camel-core-processor/src/main/java/org/apache/camel/processor/errorhandler/DefaultErrorHandler.java
 
b/core/camel-core-processor/src/main/java/org/apache/camel/processor/errorhandler/DefaultErrorHandler.java
index 2bd326b4074..7d5ffd5cd7f 100644
--- 
a/core/camel-core-processor/src/main/java/org/apache/camel/processor/errorhandler/DefaultErrorHandler.java
+++ 
b/core/camel-core-processor/src/main/java/org/apache/camel/processor/errorhandler/DefaultErrorHandler.java
@@ -24,7 +24,6 @@ import org.apache.camel.Predicate;
 import org.apache.camel.Processor;
 import org.apache.camel.spi.CamelLogger;
 import org.apache.camel.spi.ErrorHandler;
-import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 /**
@@ -62,15 +61,6 @@ public class DefaultErrorHandler extends 
RedeliveryErrorHandler {
               executorService, onPrepareProcessor, 
onExceptionOccurredProcessor);
     }
 
-    private DefaultErrorHandler(Logger log) {
-        // used for eager loading
-        super(log);
-        SimpleTask dummy = new SimpleTask();
-        log.trace("Loaded {}", dummy.getClass().getName());
-        RedeliveryTask dummy2 = new RedeliveryTask();
-        log.trace("Loaded {}", dummy2.getClass().getName());
-    }
-
     @Override
     public ErrorHandler clone(Processor output) {
         DefaultErrorHandler answer = new DefaultErrorHandler(
diff --git 
a/core/camel-core-processor/src/main/java/org/apache/camel/processor/errorhandler/RedeliveryErrorHandler.java
 
b/core/camel-core-processor/src/main/java/org/apache/camel/processor/errorhandler/RedeliveryErrorHandler.java
index 9c4d2b57870..462980cdb45 100644
--- 
a/core/camel-core-processor/src/main/java/org/apache/camel/processor/errorhandler/RedeliveryErrorHandler.java
+++ 
b/core/camel-core-processor/src/main/java/org/apache/camel/processor/errorhandler/RedeliveryErrorHandler.java
@@ -62,6 +62,8 @@ import org.apache.camel.util.URISupport;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import static java.util.Objects.requireNonNull;
+
 /**
  * Base redeliverable error handler that also supports a final dead letter 
queue in case all redelivery attempts fail.
  * <p/>
@@ -117,9 +119,9 @@ public abstract class RedeliveryErrorHandler extends 
ErrorHandlerSupport
         ObjectHelper.notNull(redeliveryPolicy, "RedeliveryPolicy", this);
 
         this.camelContext = camelContext;
-        this.reactiveExecutor = 
camelContext.getCamelContextExtension().getReactiveExecutor();
+        this.reactiveExecutor = 
requireNonNull(camelContext.getCamelContextExtension().getReactiveExecutor());
         this.awaitManager = 
PluginHelper.getAsyncProcessorAwaitManager(camelContext);
-        this.shutdownStrategy = camelContext.getShutdownStrategy();
+        this.shutdownStrategy = 
requireNonNull(camelContext.getShutdownStrategy());
         this.redeliveryProcessor = redeliveryProcessor;
         this.deadLetter = deadLetter;
         this.output = output;
@@ -167,30 +169,6 @@ public abstract class RedeliveryErrorHandler extends 
ErrorHandlerSupport
         }
     }
 
-    RedeliveryErrorHandler(Logger log) {
-        // used for eager loading
-        camelContext = null;
-        reactiveExecutor = null;
-        awaitManager = null;
-        shutdownStrategy = null;
-        deadLetter = null;
-        deadLetterUri = null;
-        deadLetterHandleNewException = false;
-        redeliveryProcessor = null;
-        redeliveryPolicy = null;
-        retryWhilePolicy = null;
-        logger = null;
-        useOriginalMessagePolicy = false;
-        useOriginalBodyPolicy = false;
-        redeliveryEnabled = false;
-        simpleTask = false;
-        exchangeFormatter = null;
-        customExchangeFormatter = false;
-        onPrepareProcessor = null;
-        onExceptionProcessor = null;
-        log.trace("Loaded {}", RedeliveryErrorHandler.class.getName());
-    }
-
     @Override
     public void process(Exchange exchange) {
         if (output == null) {
@@ -619,9 +597,7 @@ public abstract class RedeliveryErrorHandler extends 
ErrorHandlerSupport
                             : (redeliveryPolicy.isLogExhaustedMessageBody() || 
camelContext.isLogExhaustedMessageBody()
                                     ? exchangeFormatter : null);
                     String routeStackTrace = 
MessageHelper.dumpMessageHistoryStacktrace(exchange, formatter, false);
-                    if (routeStackTrace != null) {
-                        msg = msg + "\n" + routeStackTrace;
-                    }
+                    msg = msg + "\n" + routeStackTrace;
                 }
 
                 if (logger.getLevel() == LoggingLevel.ERROR) {
@@ -642,9 +618,7 @@ public abstract class RedeliveryErrorHandler extends 
ErrorHandlerSupport
                                     ? exchangeFormatter : null);
                     String routeStackTrace = 
MessageHelper.dumpMessageHistoryStacktrace(exchange, formatter,
                             e != null && redeliveryPolicy.isLogStackTrace());
-                    if (routeStackTrace != null) {
-                        msg = msg + "\n" + routeStackTrace;
-                    }
+                    msg = msg + "\n" + routeStackTrace;
                 }
 
                 if (e != null && redeliveryPolicy.isLogStackTrace()) {
@@ -1232,12 +1206,10 @@ public abstract class RedeliveryErrorHandler extends 
ErrorHandlerSupport
                         // create log message
                         String msg = "Failed delivery for " + 
ExchangeHelper.logIds(exchange);
                         msg = msg + ". Exhausted after delivery attempt: " + 
redeliveryCounter + " caught: " + caught;
-                        if (processor != null) {
-                            if (isDeadLetterChannel && deadLetterUri != null) {
-                                msg = msg + ". Handled by DeadLetterChannel: 
[" + URISupport.sanitizeUri(deadLetterUri) + "]";
-                            } else {
-                                msg = msg + ". Processed by failure processor: 
" + processor;
-                            }
+                        if (isDeadLetterChannel && deadLetterUri != null) {
+                            msg = msg + ". Handled by DeadLetterChannel: [" + 
URISupport.sanitizeUri(deadLetterUri) + "]";
+                        } else {
+                            msg = msg + ". Processed by failure processor: " + 
processor;
                         }
 
                         // log that we failed delivery as we are exhausted
@@ -1278,7 +1250,7 @@ public abstract class RedeliveryErrorHandler extends 
ErrorHandlerSupport
                     String msg = "Failed delivery for " + 
ExchangeHelper.logIds(exchange);
                     msg = msg + ". Exhausted after delivery attempt: " + 
redeliveryCounter + " caught: " + caught;
                     if (processor != null) {
-                        if (isDeadLetterChannel && deadLetterUri != null) {
+                        if (deadLetterUri != null) {
                             msg = msg + ". Handled by DeadLetterChannel: [" + 
URISupport.sanitizeUri(deadLetterUri) + "]";
                         } else {
                             msg = msg + ". Processed by failure processor: " + 
processor;
@@ -1476,9 +1448,7 @@ public abstract class RedeliveryErrorHandler extends 
ErrorHandlerSupport
                             : 
(currentRedeliveryPolicy.isLogExhaustedMessageBody() || 
camelContext.isLogExhaustedMessageBody()
                                     ? exchangeFormatter : null);
                     String routeStackTrace = 
MessageHelper.dumpMessageHistoryStacktrace(exchange, formatter, false);
-                    if (routeStackTrace != null) {
-                        msg = msg + "\n" + routeStackTrace;
-                    }
+                    msg = msg + "\n" + routeStackTrace;
                 }
 
                 if (newLogLevel == LoggingLevel.ERROR) {
@@ -1499,9 +1469,7 @@ public abstract class RedeliveryErrorHandler extends 
ErrorHandlerSupport
                                     ? exchangeFormatter : null);
                     String routeStackTrace
                             = 
MessageHelper.dumpMessageHistoryStacktrace(exchange, formatter, e != null && 
logStackTrace);
-                    if (routeStackTrace != null) {
-                        msg = msg + "\n" + routeStackTrace;
-                    }
+                    msg = msg + "\n" + routeStackTrace;
                 }
 
                 if (e != null && logStackTrace) {
diff --git 
a/core/camel-core-processor/src/main/java/org/apache/camel/processor/resequencer/ResequencerEngine.java
 
b/core/camel-core-processor/src/main/java/org/apache/camel/processor/resequencer/ResequencerEngine.java
index 2a3fd4b24ad..fc8272ce697 100644
--- 
a/core/camel-core-processor/src/main/java/org/apache/camel/processor/resequencer/ResequencerEngine.java
+++ 
b/core/camel-core-processor/src/main/java/org/apache/camel/processor/resequencer/ResequencerEngine.java
@@ -192,7 +192,7 @@ public class ResequencerEngine<E> {
         }
 
         // validate the exchange shouldn't be 'rejected' (if applicable)
-        if (rejectOld != null && rejectOld.booleanValue() && 
beforeLastDelivered(element)) {
+        if (rejectOld != null && rejectOld && beforeLastDelivered(element)) {
             throw new MessageRejectedException(
                     "rejecting message [" + element.getObject()
                                                + "], it should have been sent 
before the last delivered message ["
@@ -211,11 +211,7 @@ public class ResequencerEngine<E> {
         }
 
         // start delivery if current element is successor of last delivered 
element
-        if (successorOfLastDelivered(element)) {
-            // nothing to schedule
-        } else if (sequence.predecessor(element) != null) {
-            // nothing to schedule
-        } else {
+        if (!successorOfLastDelivered(element) && 
sequence.predecessor(element) == null) {
             element.schedule(defineTimeout());
         }
     }
@@ -227,6 +223,7 @@ public class ResequencerEngine<E> {
      *
      * @see              ResequencerEngine#deliverNext()
      */
+    @SuppressWarnings("StatementWithEmptyBody")
     public synchronized void deliver() throws Exception {
         while (deliverNext()) {
             // do nothing here
diff --git 
a/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/CatchReifier.java
 
b/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/CatchReifier.java
index 52be2a9dacb..bc7493be6e6 100644
--- 
a/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/CatchReifier.java
+++ 
b/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/CatchReifier.java
@@ -26,8 +26,6 @@ import org.apache.camel.model.CatchDefinition;
 import org.apache.camel.model.ProcessorDefinition;
 import org.apache.camel.model.TryDefinition;
 import org.apache.camel.processor.CatchProcessor;
-import org.apache.camel.spi.IdAware;
-import org.apache.camel.spi.RouteIdAware;
 
 public class CatchReifier extends ProcessorReifier<CatchDefinition> {
 
@@ -63,13 +61,9 @@ public class CatchReifier extends 
ProcessorReifier<CatchDefinition> {
         CatchProcessor processor
                 = new CatchProcessor(getCamelContext(), 
definition.getExceptionClasses(), childProcessor, when);
         // inject id
-        if (processor instanceof IdAware) {
-            String id = getId(definition);
-            ((IdAware) processor).setId(id);
-        }
-        if (processor instanceof RouteIdAware) {
-            ((RouteIdAware) processor).setRouteId(route.getRouteId());
-        }
+        String id = getId(definition);
+        processor.setId(id);
+        processor.setRouteId(route.getRouteId());
         return wrapProcessor(processor);
     }
 
diff --git 
a/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/errorhandler/ErrorHandlerReifier.java
 
b/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/errorhandler/ErrorHandlerReifier.java
index a92df428005..b9d691fd712 100644
--- 
a/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/errorhandler/ErrorHandlerReifier.java
+++ 
b/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/errorhandler/ErrorHandlerReifier.java
@@ -332,9 +332,7 @@ public abstract class ErrorHandlerReifier<T extends 
ErrorHandlerFactory> extends
     public abstract Processor createErrorHandler(Processor processor) throws 
Exception;
 
     public void configure(ErrorHandler handler) {
-        if (handler instanceof ErrorHandlerSupport) {
-            ErrorHandlerSupport handlerSupport = (ErrorHandlerSupport) handler;
-
+        if (handler instanceof ErrorHandlerSupport handlerSupport) {
             for (NamedNode exception : route.getErrorHandlers(definition)) {
                 addExceptionPolicy(handlerSupport, (OnExceptionDefinition) 
exception);
             }
@@ -465,7 +463,7 @@ public abstract class ErrorHandlerReifier<T extends 
ErrorHandlerFactory> extends
         return pred;
     }
 
-    protected <T> T getBean(Class<T> clazz, T bean, String ref) {
+    protected <U> U getBean(Class<U> clazz, U bean, String ref) {
         if (bean == null && ref != null) {
             bean = lookupByNameAndType(ref, clazz);
         }
diff --git 
a/core/camel-core/src/test/java/org/apache/camel/component/rest/RestComponentVerifierExtensionTest.java
 
b/core/camel-core/src/test/java/org/apache/camel/component/rest/RestComponentVerifierExtensionTest.java
index 7ab9d86dcdd..ff14c9d86c7 100644
--- 
a/core/camel-core/src/test/java/org/apache/camel/component/rest/RestComponentVerifierExtensionTest.java
+++ 
b/core/camel-core/src/test/java/org/apache/camel/component/rest/RestComponentVerifierExtensionTest.java
@@ -106,7 +106,7 @@ public class RestComponentVerifierExtensionTest extends 
ContextTestSupport {
                 @Override
                 public Result verify(Scope scope, Map<String, Object> 
parameters) {
                     return 
ResultBuilder.withStatusAndScope(RestComponentVerifierExtension.Result.Status.OK,
 scope)
-                            
.error(ResultErrorHelper.requiresOption("authProxy", parameters))
+                            
.error(ResultErrorHelper.requiresOption("authProxy", parameters).orElse(null))
                             .build();
                 }
             });
diff --git 
a/core/camel-core/src/test/java/org/apache/camel/component/rest/RestComponentVerifierTest.java
 
b/core/camel-core/src/test/java/org/apache/camel/component/rest/RestComponentVerifierTest.java
index 54b7082f01f..5351a509c35 100644
--- 
a/core/camel-core/src/test/java/org/apache/camel/component/rest/RestComponentVerifierTest.java
+++ 
b/core/camel-core/src/test/java/org/apache/camel/component/rest/RestComponentVerifierTest.java
@@ -101,7 +101,7 @@ public class RestComponentVerifierTest extends 
ContextTestSupport {
                 @Override
                 public Result verify(Scope scope, Map<String, Object> 
parameters) {
                     return 
ResultBuilder.withStatusAndScope(RestComponentVerifierExtension.Result.Status.OK,
 scope)
-                            
.error(ResultErrorHelper.requiresOption("authProxy", parameters))
+                            
.error(ResultErrorHelper.requiresOption("authProxy", parameters).orElse(null))
                             .build();
                 }
             });
diff --git 
a/core/camel-management/src/main/java/org/apache/camel/management/JmxManagementLifecycleStrategy.java
 
b/core/camel-management/src/main/java/org/apache/camel/management/JmxManagementLifecycleStrategy.java
index 16d230ce87a..c648b8cc3ff 100644
--- 
a/core/camel-management/src/main/java/org/apache/camel/management/JmxManagementLifecycleStrategy.java
+++ 
b/core/camel-management/src/main/java/org/apache/camel/management/JmxManagementLifecycleStrategy.java
@@ -240,7 +240,7 @@ public class JmxManagementLifecycleStrategy extends 
ServiceSupport implements Li
             camelContextMBean = (ManagedCamelContext) mc;
         }
 
-        // register any pre registered now that we are initialized
+        // register any pre-registered now that we are initialized
         enlistPreRegisteredServices();
 
         // register health check if detected
@@ -438,7 +438,7 @@ public class JmxManagementLifecycleStrategy extends 
ServiceSupport implements Li
     @Override
     public void onServiceAdd(CamelContext context, Service service, Route 
route) {
         if (!initialized) {
-            // pre register so we can register later when we have been 
initialized
+            // pre-register so we can register later when we have been 
initialized
             preServices.add(lf -> lf.onServiceAdd(camelContext, service, 
route));
             return;
         }
diff --git 
a/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedStreamCachingStrategy.java
 
b/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedStreamCachingStrategy.java
index 74dc57d2e05..53d52363cf0 100644
--- 
a/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedStreamCachingStrategy.java
+++ 
b/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedStreamCachingStrategy.java
@@ -34,12 +34,16 @@ public class ManagedStreamCachingStrategy extends 
ManagedService implements Mana
         this.camelContext = camelContext;
         this.streamCachingStrategy = streamCachingStrategy;
         if (streamCachingStrategy.getAllowClasses() != null) {
-            this.allowClasses = 
streamCachingStrategy.getAllowClasses().toArray(new String[0]);
+            this.allowClasses = streamCachingStrategy.getAllowClasses()
+                    .stream().map(Class::getName)
+                    .toArray(String[]::new);
         } else {
             this.allowClasses = null;
         }
         if (streamCachingStrategy.getDenyClasses() != null) {
-            this.denyClasses = 
streamCachingStrategy.getDenyClasses().toArray(new String[0]);
+            this.denyClasses = streamCachingStrategy.getDenyClasses()
+                    .stream().map(Class::getName)
+                    .toArray(String[]::new);
         } else {
             this.denyClasses = null;
         }
@@ -113,16 +117,10 @@ public class ManagedStreamCachingStrategy extends 
ManagedService implements Mana
         if (limit == null) {
             l = null;
         } else {
-            switch (limit) {
-                case Committed:
-                    l = 
StreamCachingStrategy.SpoolUsedHeapMemoryLimit.Committed;
-                    break;
-                case Max:
-                    l = StreamCachingStrategy.SpoolUsedHeapMemoryLimit.Max;
-                    break;
-                default:
-                    throw new IllegalStateException();
-            }
+            l = switch (limit) {
+                case Committed -> 
StreamCachingStrategy.SpoolUsedHeapMemoryLimit.Committed;
+                case Max -> StreamCachingStrategy.SpoolUsedHeapMemoryLimit.Max;
+            };
         }
         streamCachingStrategy.setSpoolUsedHeapMemoryLimit(l);
     }
@@ -133,14 +131,10 @@ public class ManagedStreamCachingStrategy extends 
ManagedService implements Mana
         if (l == null) {
             return null;
         } else {
-            switch (l) {
-                case Committed:
-                    return SpoolUsedHeapMemoryLimit.Committed;
-                case Max:
-                    return SpoolUsedHeapMemoryLimit.Max;
-                default:
-                    throw new IllegalStateException();
-            }
+            return switch (l) {
+                case Committed -> SpoolUsedHeapMemoryLimit.Committed;
+                case Max -> SpoolUsedHeapMemoryLimit.Max;
+            };
         }
     }
 
diff --git 
a/core/camel-management/src/main/java/org/apache/camel/management/mbean/RouteCoverageXmlParser.java
 
b/core/camel-management/src/main/java/org/apache/camel/management/mbean/RouteCoverageXmlParser.java
index a3719b8c376..f13d4992871 100644
--- 
a/core/camel-management/src/main/java/org/apache/camel/management/mbean/RouteCoverageXmlParser.java
+++ 
b/core/camel-management/src/main/java/org/apache/camel/management/mbean/RouteCoverageXmlParser.java
@@ -110,50 +110,48 @@ public final class RouteCoverageXmlParser {
                 }
 
                 String id = el.getAttribute("id");
-                if (id != null) {
-                    try {
-                        if ("route".equals(qName)) {
-                            ManagedRouteMBean route = 
camelContext.getCamelContextExtension()
-                                    
.getContextPlugin(ManagedCamelContext.class).getManagedRoute(id);
+                try {
+                    if ("route".equals(qName)) {
+                        ManagedRouteMBean route = 
camelContext.getCamelContextExtension()
+                                
.getContextPlugin(ManagedCamelContext.class).getManagedRoute(id);
+                        if (route != null) {
+                            long total = route.getExchangesTotal();
+                            el.setAttribute("exchangesTotal", 
Long.toString(total));
+                            long totalTime = route.getTotalProcessingTime();
+                            el.setAttribute("totalProcessingTime", 
Long.toString(totalTime));
+                        }
+                    } else if ("from".equals(qName)) {
+                        // grab statistics from the parent route as from would 
be the same
+                        Element parent = elementStack.peek();
+                        if (parent != null) {
+                            String routeId = parent.getAttribute("id");
+                            ManagedRouteMBean route
+                                    = 
camelContext.getCamelContextExtension().getContextPlugin(ManagedCamelContext.class)
+                                            .getManagedRoute(routeId);
                             if (route != null) {
                                 long total = route.getExchangesTotal();
                                 el.setAttribute("exchangesTotal", 
Long.toString(total));
                                 long totalTime = 
route.getTotalProcessingTime();
                                 el.setAttribute("totalProcessingTime", 
Long.toString(totalTime));
+                                // from is index-0
+                                el.setAttribute("index", "0");
                             }
-                        } else if ("from".equals(qName)) {
-                            // grab statistics from the parent route as from 
would be the same
-                            Element parent = elementStack.peek();
-                            if (parent != null) {
-                                String routeId = parent.getAttribute("id");
-                                ManagedRouteMBean route
-                                        = 
camelContext.getCamelContextExtension().getContextPlugin(ManagedCamelContext.class)
-                                                .getManagedRoute(routeId);
-                                if (route != null) {
-                                    long total = route.getExchangesTotal();
-                                    el.setAttribute("exchangesTotal", 
Long.toString(total));
-                                    long totalTime = 
route.getTotalProcessingTime();
-                                    el.setAttribute("totalProcessingTime", 
Long.toString(totalTime));
-                                    // from is index-0
-                                    el.setAttribute("index", "0");
-                                }
-                            }
-                        } else {
-                            ManagedProcessorMBean processor
-                                    = 
camelContext.getCamelContextExtension().getContextPlugin(ManagedCamelContext.class)
-                                            .getManagedProcessor(id);
-                            if (processor != null) {
-                                long total = processor.getExchangesTotal();
-                                el.setAttribute("exchangesTotal", 
Long.toString(total));
-                                long totalTime = 
processor.getTotalProcessingTime();
-                                el.setAttribute("totalProcessingTime", 
Long.toString(totalTime));
-                                int index = processor.getIndex();
-                                el.setAttribute("index", 
Integer.toString(index));
-                            }
                         }
-                    } catch (Exception e) {
-                        // ignore
+                    } else {
+                        ManagedProcessorMBean processor
+                                = 
camelContext.getCamelContextExtension().getContextPlugin(ManagedCamelContext.class)
+                                        .getManagedProcessor(id);
+                        if (processor != null) {
+                            long total = processor.getExchangesTotal();
+                            el.setAttribute("exchangesTotal", 
Long.toString(total));
+                            long totalTime = 
processor.getTotalProcessingTime();
+                            el.setAttribute("totalProcessingTime", 
Long.toString(totalTime));
+                            int index = processor.getIndex();
+                            el.setAttribute("index", Integer.toString(index));
+                        }
                     }
+                } catch (Exception e) {
+                    // ignore
                 }
 
                 // we do not want customId in output of the EIPs
diff --git 
a/core/camel-management/src/test/java/org/apache/camel/management/ManagedStreamCachingStrategyTest.java
 
b/core/camel-management/src/test/java/org/apache/camel/management/ManagedStreamCachingStrategyTest.java
index 59a61ae18bc..2a328c1b689 100644
--- 
a/core/camel-management/src/test/java/org/apache/camel/management/ManagedStreamCachingStrategyTest.java
+++ 
b/core/camel-management/src/test/java/org/apache/camel/management/ManagedStreamCachingStrategyTest.java
@@ -16,11 +16,13 @@
  */
 package org.apache.camel.management;
 
+import java.io.InputStream;
 import java.util.Set;
 
 import javax.management.MBeanServer;
 import javax.management.ObjectName;
 
+import org.apache.camel.CamelContext;
 import org.apache.camel.StreamCache;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.impl.DefaultCamelContext;
@@ -37,6 +39,12 @@ import static org.junit.jupiter.api.Assertions.assertNull;
 
 @DisabledOnOs(OS.AIX)
 public class ManagedStreamCachingStrategyTest extends ManagementTestSupport {
+    @Override
+    protected CamelContext createCamelContext() throws Exception {
+        CamelContext camelContext = super.createCamelContext();
+        
camelContext.getStreamCachingStrategy().setAllowClasses(InputStream.class);
+        return camelContext;
+    }
 
     @Test
     public void testStreamCachingStrategy() throws Exception {
diff --git 
a/core/camel-support/src/main/java/org/apache/camel/converter/stream/CachedOutputStream.java
 
b/core/camel-support/src/main/java/org/apache/camel/converter/stream/CachedOutputStream.java
index 49a8c9d7f0e..de994eecae0 100644
--- 
a/core/camel-support/src/main/java/org/apache/camel/converter/stream/CachedOutputStream.java
+++ 
b/core/camel-support/src/main/java/org/apache/camel/converter/stream/CachedOutputStream.java
@@ -76,7 +76,11 @@ public class CachedOutputStream extends OutputStream {
 
     @Override
     public boolean equals(Object obj) {
-        return currentStream.equals(obj);
+        if (obj instanceof CachedOutputStream cos) {
+            return currentStream.equals(cos.currentStream);
+        } else {
+            return currentStream.equals(obj);
+        }
     }
 
     @Override
diff --git 
a/core/camel-support/src/main/java/org/apache/camel/support/AbstractExchange.java
 
b/core/camel-support/src/main/java/org/apache/camel/support/AbstractExchange.java
index a0367cd5400..593e5f047dc 100644
--- 
a/core/camel-support/src/main/java/org/apache/camel/support/AbstractExchange.java
+++ 
b/core/camel-support/src/main/java/org/apache/camel/support/AbstractExchange.java
@@ -97,6 +97,7 @@ abstract class AbstractExchange implements Exchange {
         privateExtension.setUnitOfWork(parent.getUnitOfWork());
     }
 
+    @SuppressWarnings("CopyConstructorMissesField")
     protected AbstractExchange(AbstractExchange parent) {
         this.context = parent.getContext();
         this.pattern = parent.getPattern();
diff --git 
a/core/camel-support/src/main/java/org/apache/camel/support/DefaultHeaderFilterStrategy.java
 
b/core/camel-support/src/main/java/org/apache/camel/support/DefaultHeaderFilterStrategy.java
index 9edd19f1e35..ae4b11b9791 100644
--- 
a/core/camel-support/src/main/java/org/apache/camel/support/DefaultHeaderFilterStrategy.java
+++ 
b/core/camel-support/src/main/java/org/apache/camel/support/DefaultHeaderFilterStrategy.java
@@ -48,7 +48,7 @@ public class DefaultHeaderFilterStrategy implements 
HeaderFilterStrategy {
      * @deprecated use {@link #CAMEL_FILTER_STARTS_WITH}
      */
     @Deprecated(since = "3.9.0")
-    public static final Pattern CAMEL_FILTER_PATTERN = 
Pattern.compile("(?i)(Camel|org\\.apache\\.camel)[\\.|a-z|A-z|0-9]*");
+    public static final Pattern CAMEL_FILTER_PATTERN = 
Pattern.compile("(?i)(Camel|org\\.apache\\.camel)[.a-zA-z0-9]*");
 
     /**
      * A filter pattern for keys starting with <tt>Camel</tt>, <tt>camel</tt>, 
or <tt>org.apache.camel.</tt>
diff --git 
a/core/camel-support/src/main/java/org/apache/camel/support/DefaultScheduledPollConsumerScheduler.java
 
b/core/camel-support/src/main/java/org/apache/camel/support/DefaultScheduledPollConsumerScheduler.java
index 5ce5fc50547..bf6cefeeb98 100644
--- 
a/core/camel-support/src/main/java/org/apache/camel/support/DefaultScheduledPollConsumerScheduler.java
+++ 
b/core/camel-support/src/main/java/org/apache/camel/support/DefaultScheduledPollConsumerScheduler.java
@@ -201,7 +201,7 @@ public class DefaultScheduledPollConsumerScheduler extends 
ServiceSupport implem
 
     @Override
     public boolean isSchedulerStarted() {
-        return futures != null && !futures.isEmpty();
+        return !futures.isEmpty();
     }
 
     @Override
diff --git 
a/core/camel-support/src/main/java/org/apache/camel/support/EndpointHelper.java 
b/core/camel-support/src/main/java/org/apache/camel/support/EndpointHelper.java
index eb1c640e785..436c3db3ffb 100644
--- 
a/core/camel-support/src/main/java/org/apache/camel/support/EndpointHelper.java
+++ 
b/core/camel-support/src/main/java/org/apache/camel/support/EndpointHelper.java
@@ -327,7 +327,7 @@ public final class EndpointHelper {
      * @throws NoSuchBeanException if object was not found in registry and 
<code>mandatory</code> is <code>true</code>.
      */
     public static <T> T resolveReferenceParameter(CamelContext context, String 
value, Class<T> type, boolean mandatory) {
-        Object answer = null;
+        Object answer;
         if (value.startsWith("#class:")) {
             try {
                 answer = createBean(context, value, type);
diff --git 
a/core/camel-support/src/main/java/org/apache/camel/support/GroupTokenIterator.java
 
b/core/camel-support/src/main/java/org/apache/camel/support/GroupTokenIterator.java
index 110227d772a..b7fbd56e422 100644
--- 
a/core/camel-support/src/main/java/org/apache/camel/support/GroupTokenIterator.java
+++ 
b/core/camel-support/src/main/java/org/apache/camel/support/GroupTokenIterator.java
@@ -125,7 +125,7 @@ public final class GroupTokenIterator implements 
Iterator<Object>, Closeable {
 
     private Object doNext() throws IOException, 
NoTypeConversionAvailableException {
         int count = 0;
-        Object data = "";
+        Object data;
         while (count < group && it.hasNext()) {
             data = it.next();
 
diff --git 
a/core/camel-support/src/main/java/org/apache/camel/support/MessageHelper.java 
b/core/camel-support/src/main/java/org/apache/camel/support/MessageHelper.java
index e522fbad95e..5e07ab79a6c 100644
--- 
a/core/camel-support/src/main/java/org/apache/camel/support/MessageHelper.java
+++ 
b/core/camel-support/src/main/java/org/apache/camel/support/MessageHelper.java
@@ -713,13 +713,13 @@ public final class MessageHelper {
     }
 
     /**
-     * Dumps the {@link MessageHistory} from the {@link Exchange} in a human 
readable format.
+     * Dumps the {@link MessageHistory} from the {@link Exchange} in a 
human-readable format.
      *
      * @param  exchange          the exchange
      * @param  exchangeFormatter if provided then information about the 
exchange is included in the dump
      * @param  logStackTrace     whether to include a header for the 
stacktrace, to be added (not included in this
      *                           dump).
-     * @return                   a human readable message history as a table
+     * @return                   a human-readable message history as a table, 
never {@code null}
      */
     public static String dumpMessageHistoryStacktrace(
             Exchange exchange, ExchangeFormatter exchangeFormatter, boolean 
logStackTrace) {
diff --git 
a/core/camel-support/src/main/java/org/apache/camel/support/ObjectHelper.java 
b/core/camel-support/src/main/java/org/apache/camel/support/ObjectHelper.java
index d8e9826c1b8..af25d698dec 100644
--- 
a/core/camel-support/src/main/java/org/apache/camel/support/ObjectHelper.java
+++ 
b/core/camel-support/src/main/java/org/apache/camel/support/ObjectHelper.java
@@ -285,9 +285,8 @@ public final class ObjectHelper {
             return leftNum.compareTo(rightNum);
         } else if ((rightValue instanceof Integer || rightValue instanceof 
Long) &&
                 leftValue instanceof String && isNumber((String) leftValue)) {
-            if (rightValue instanceof Integer) {
+            if (rightValue instanceof Integer rightNum) {
                 Integer leftNum = Integer.valueOf((String) leftValue);
-                Integer rightNum = (Integer) rightValue;
                 return leftNum.compareTo(rightNum);
             } else {
                 Long leftNum = Long.valueOf((String) leftValue);
@@ -296,8 +295,7 @@ public final class ObjectHelper {
             }
         } else if (rightValue instanceof String &&
                 (leftValue instanceof Integer || leftValue instanceof Long) && 
isNumber((String) rightValue)) {
-            if (leftValue instanceof Integer) {
-                Integer leftNum = (Integer) leftValue;
+            if (leftValue instanceof Integer leftNum) {
                 Integer rightNum = Integer.valueOf((String) rightValue);
                 return leftNum.compareTo(rightNum);
             } else {
@@ -305,16 +303,14 @@ public final class ObjectHelper {
                 Long rightNum = Long.valueOf((String) rightValue);
                 return leftNum.compareTo(rightNum);
             }
-        } else if (rightValue instanceof Double && leftValue instanceof String 
&& isFloatingNumber((String) leftValue)) {
+        } else if (rightValue instanceof Double rightNum && leftValue 
instanceof String
+                && isFloatingNumber((String) leftValue)) {
             Double leftNum = Double.valueOf((String) leftValue);
-            Double rightNum = (Double) rightValue;
             return leftNum.compareTo(rightNum);
-        } else if (rightValue instanceof Boolean && leftValue instanceof 
String) {
+        } else if (rightValue instanceof Boolean rightBool && leftValue 
instanceof String) {
             Boolean leftBool = Boolean.valueOf((String) leftValue);
-            Boolean rightBool = (Boolean) rightValue;
             return leftBool.compareTo(rightBool);
-        } else if (rightValue instanceof String && leftValue instanceof 
Boolean) {
-            Boolean leftBool = (Boolean) leftValue;
+        } else if (rightValue instanceof String && leftValue instanceof 
Boolean leftBool) {
             Boolean rightBool = Boolean.valueOf((String) rightValue);
             return leftBool.compareTo(rightBool);
         }
@@ -338,7 +334,7 @@ public final class ObjectHelper {
         // as all types can be converted to String which does not work well 
for comparison
         // as eg "10" < 6 would return true, where as 10 < 6 will return false.
         // if they are both String then it doesn't matter
-        if (rightValue instanceof String && !(leftValue instanceof String)) {
+        if (rightValue instanceof String) {
             // if right is String and left is not then flip order (remember to 
* -1 the result then)
             return typeCoerceCompare(converter, rightValue, leftValue) * -1;
         }
diff --git 
a/core/camel-support/src/main/java/org/apache/camel/support/PropertyBindingSupport.java
 
b/core/camel-support/src/main/java/org/apache/camel/support/PropertyBindingSupport.java
index 353585af5a8..85213b7a415 100644
--- 
a/core/camel-support/src/main/java/org/apache/camel/support/PropertyBindingSupport.java
+++ 
b/core/camel-support/src/main/java/org/apache/camel/support/PropertyBindingSupport.java
@@ -422,7 +422,7 @@ public final class PropertyBindingSupport {
     }
 
     private static Object attemptCreateNewInstanceViaReflection(
-            CamelContext camelContext, Object newTarget, Class newClass, 
String name, boolean fluentBuilder,
+            CamelContext camelContext, Object newTarget, Class<?> newClass, 
String name, boolean fluentBuilder,
             boolean allowPrivateSetter, boolean ignoreCase) {
 
         // if the name has collection lookup then ignore that as we want to 
create the instance
@@ -570,13 +570,13 @@ public final class PropertyBindingSupport {
                 }
                 // if the target value is a map type, then we can skip 
reflection
                 // and set the entry
-                if (!bound && Map.class.isAssignableFrom(target.getClass())) {
+                if (!bound && target instanceof Map) {
                     ((Map) target).put(key, value);
                     bound = true;
                 }
                 // if the target value is a list type (and key is digit),
                 // then we can skip reflection and set the entry
-                if (!bound && List.class.isAssignableFrom(target.getClass()) 
&& StringHelper.isDigit(key)) {
+                if (!bound && target instanceof List && 
StringHelper.isDigit(key)) {
                     try {
                         // key must be digit
                         int idx = Integer.parseInt(key);
@@ -661,11 +661,11 @@ public final class PropertyBindingSupport {
 
         if (obj instanceof Map) {
             // this supports both Map and Properties
-            Map map = (Map) obj;
+            Map<Object, Object> map = (Map) obj;
             map.put(lookupKey, value);
             return true;
         } else if (obj instanceof List) {
-            List list = (List) obj;
+            List<Object> list = (List) obj;
             if (isNotEmpty(lookupKey)) {
                 int idx = Integer.parseInt(lookupKey);
                 org.apache.camel.util.ObjectHelper.addListByIndex(list, idx, 
value);
@@ -673,7 +673,7 @@ public final class PropertyBindingSupport {
                 list.add(value);
             }
             return true;
-        } else if (obj.getClass().isArray() && lookupKey != null) {
+        } else if (obj != null && obj.getClass().isArray() && lookupKey != 
null) {
             int idx = Integer.parseInt(lookupKey);
             int size = Array.getLength(obj);
             if (idx >= size) {
@@ -744,11 +744,11 @@ public final class PropertyBindingSupport {
 
         if (obj instanceof Map) {
             // this supports both Map and Properties
-            Map map = (Map) obj;
+            Map<Object, Object> map = (Map) obj;
             map.put(lookupKey, value);
             return true;
         } else if (obj instanceof List) {
-            List list = (List) obj;
+            List<Object> list = (List) obj;
             if (isNotEmpty(lookupKey)) {
                 int idx = Integer.parseInt(lookupKey);
                 if (idx < list.size()) {
@@ -763,7 +763,7 @@ public final class PropertyBindingSupport {
                     // Note that ArrayList is the default List impl that
                     // is automatically created if the property is null.
                     if (list instanceof ArrayList) {
-                        ((ArrayList) list).ensureCapacity(idx + 1);
+                        ((ArrayList<?>) list).ensureCapacity(idx + 1);
                     }
                     while (list.size() < idx) {
                         list.add(null);
@@ -973,15 +973,13 @@ public final class PropertyBindingSupport {
         }
 
         if (answer instanceof Map && lookupKey != null) {
-            Map map = (Map) answer;
+            Map<Object, Object> map = (Map) answer;
             answer = map.get(lookupKey);
             if (answer == null) {
                 // okay there was no element in the list, so create a new 
empty instance if we can know its parameter type
-                Class<?> parameterType = null;
-                if (configurer instanceof PropertyConfigurerGetter) {
-                    parameterType = (Class<?>) ((PropertyConfigurerGetter) 
configurer).getCollectionValueType(target, undashKey,
-                            ignoreCase);
-                }
+                Class<?> parameterType;
+                parameterType = (Class<?>) ((PropertyConfigurerGetter) 
configurer).getCollectionValueType(target, undashKey,
+                        ignoreCase);
                 if (parameterType != null
                         && 
org.apache.camel.util.ObjectHelper.hasDefaultPublicNoArgConstructor(parameterType))
 {
                     Object instance = 
context.getInjector().newInstance(parameterType);
@@ -990,7 +988,7 @@ public final class PropertyBindingSupport {
                 }
             }
         } else if (answer instanceof List) {
-            List list = (List) answer;
+            List<Object> list = (List) answer;
             if (isNotEmpty(lookupKey)) {
                 int idx = Integer.parseInt(lookupKey);
                 answer = list.size() > idx ? list.get(idx) : null;
@@ -1003,11 +1001,9 @@ public final class PropertyBindingSupport {
             }
             if (answer == null) {
                 // okay there was no element in the list, so create a new 
empty instance if we can know its parameter type
-                Class<?> parameterType = null;
-                if (configurer instanceof PropertyConfigurerGetter) {
-                    parameterType = (Class<?>) ((PropertyConfigurerGetter) 
configurer).getCollectionValueType(target, undashKey,
-                            ignoreCase);
-                }
+                Class<?> parameterType
+                        = (Class<?>) ((PropertyConfigurerGetter) 
configurer).getCollectionValueType(target, undashKey,
+                                ignoreCase);
                 if (parameterType != null
                         && 
org.apache.camel.util.ObjectHelper.hasDefaultPublicNoArgConstructor(parameterType))
 {
                     Object instance = 
context.getInjector().newInstance(parameterType);
@@ -1015,7 +1011,7 @@ public final class PropertyBindingSupport {
                     answer = instance;
                 }
             }
-        } else if (type != null && type.isArray() && lookupKey != null) {
+        } else if (type.isArray() && lookupKey != null) {
             Object[] arr = (Object[]) answer;
             int idx = Integer.parseInt(lookupKey);
             int size = arr.length;
@@ -1097,7 +1093,7 @@ public final class PropertyBindingSupport {
         }
 
         if (answer instanceof Map && lookupKey != null) {
-            Map map = (Map) answer;
+            Map<Object, Object> map = (Map) answer;
             answer = map.get(lookupKey);
             if (answer == null) {
                 Class<?> parameterType = null;
@@ -1125,7 +1121,7 @@ public final class PropertyBindingSupport {
                 }
             }
         } else if (answer instanceof List) {
-            List list = (List) answer;
+            List<Object> list = (List) answer;
             if (isNotEmpty(lookupKey)) {
                 int idx = Integer.parseInt(lookupKey);
                 answer = list.size() > idx ? list.get(idx) : null;
@@ -1161,7 +1157,7 @@ public final class PropertyBindingSupport {
                     answer = instance;
                 }
             }
-        } else if (type != null && type.isArray() && lookupKey != null) {
+        } else if (type.isArray() && lookupKey != null) {
             Object[] arr = (Object[]) answer;
             int idx = Integer.parseInt(lookupKey);
             int size = arr.length;
@@ -1705,7 +1701,7 @@ public final class PropertyBindingSupport {
          * @param propertyType the type of the property
          * @param value        the property value
          */
-        void onAutowire(Object target, String propertyName, Class 
propertyType, Object value);
+        void onAutowire(Object target, String propertyName, Class<?> 
propertyType, Object value);
 
     }
 
@@ -2064,7 +2060,7 @@ public final class PropertyBindingSupport {
 
             // walk key with dots to remove right node
             String[] parts = splitKey(key.toString());
-            Map map = originalMap;
+            Map<?, ?> map = originalMap;
             for (int i = 0; i < parts.length; i++) {
                 String part = parts[i];
                 Object obj = map.get(part);
@@ -2126,7 +2122,7 @@ public final class PropertyBindingSupport {
         @Override
         public boolean configure(
                 CamelContext camelContext, Object target, String name, Object 
value, boolean ignoreCase) {
-            ((Map) target).put(name, value);
+            ((Map<Object, Object>) target).put(name, value);
             return true;
         }
     }
diff --git 
a/core/camel-support/src/main/java/org/apache/camel/support/builder/TokenPairExpressionIterator.java
 
b/core/camel-support/src/main/java/org/apache/camel/support/builder/TokenPairExpressionIterator.java
index 1ce44a59760..87dbc8e6718 100644
--- 
a/core/camel-support/src/main/java/org/apache/camel/support/builder/TokenPairExpressionIterator.java
+++ 
b/core/camel-support/src/main/java/org/apache/camel/support/builder/TokenPairExpressionIterator.java
@@ -225,13 +225,12 @@ public class TokenPairExpressionIterator extends 
ExpressionAdapter {
             String next = scanner.next();
 
             // only grab text after the start token
-            if (next != null && next.contains(startToken)) {
+            if (next.contains(startToken)) {
                 next = StringHelper.after(next, startToken);
 
                 // include tokens in answer
                 if (next != null && includeTokens) {
-                    StringBuilder sb = new StringBuilder();
-                    next = 
sb.append(startToken).append(next).append(endToken).toString();
+                    next = startToken + next + endToken;
                 }
             } else {
                 // must have start token, otherwise we have reached beyond 
last tokens
diff --git 
a/core/camel-support/src/main/java/org/apache/camel/support/cache/ServicePool.java
 
b/core/camel-support/src/main/java/org/apache/camel/support/cache/ServicePool.java
index 83f93e0aa67..3596bd4d8ec 100644
--- 
a/core/camel-support/src/main/java/org/apache/camel/support/cache/ServicePool.java
+++ 
b/core/camel-support/src/main/java/org/apache/camel/support/cache/ServicePool.java
@@ -41,6 +41,8 @@ import org.apache.camel.util.function.ThrowingFunction;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import static java.util.Objects.requireNonNull;
+
 /**
  * A base class for a pool for either producers or consumers used by {@link 
org.apache.camel.spi.ProducerCache} and
  * {@link org.apache.camel.spi.ConsumerCache}.
@@ -189,9 +191,10 @@ abstract class ServicePool<S extends Service> extends 
ServiceSupport implements
     /**
      * Cleanup the pool (removing stale instances that should be evicted)
      */
+    @SuppressWarnings("rawtypes")
     public void cleanUp() {
-        if (cache instanceof LRUCache) {
-            ((LRUCache) cache).cleanUp();
+        if (cache instanceof LRUCache lru) {
+            lru.cleanUp();
         }
         pool.values().forEach(Pool::cleanUp);
     }
@@ -231,13 +234,8 @@ abstract class ServicePool<S extends Service> extends 
ServiceSupport implements
         private final Endpoint endpoint;
         private volatile S s;
 
-        private SinglePool() {
-            // only used for eager classloading
-            this.endpoint = null;
-        }
-
         SinglePool(Endpoint endpoint) {
-            this.endpoint = endpoint;
+            this.endpoint = requireNonNull(endpoint);
         }
 
         @Override
@@ -333,13 +331,6 @@ abstract class ServicePool<S extends Service> extends 
ServiceSupport implements
         private final BlockingQueue<S> queue;
         private final List<S> evicts;
 
-        private MultiplePool() {
-            // only used for eager classloading
-            this.endpoint = null;
-            this.queue = null;
-            this.evicts = null;
-        }
-
         MultiplePool(Endpoint endpoint) {
             this.endpoint = endpoint;
             this.queue = new ArrayBlockingQueue<>(capacity);
diff --git 
a/core/camel-support/src/main/java/org/apache/camel/support/cache/SimpleSoftCache.java
 
b/core/camel-support/src/main/java/org/apache/camel/support/cache/SimpleSoftCache.java
index ee2b8b70f82..93d1a4635c2 100644
--- 
a/core/camel-support/src/main/java/org/apache/camel/support/cache/SimpleSoftCache.java
+++ 
b/core/camel-support/src/main/java/org/apache/camel/support/cache/SimpleSoftCache.java
@@ -95,6 +95,7 @@ public class SimpleSoftCache<K, V> implements Map<K, V> {
         return false;
     }
 
+    @SuppressWarnings("SuspiciousMethodCalls")
     @Override
     public V get(Object key) {
         SoftReference<V> ref = delegate.get(key);
@@ -202,6 +203,7 @@ public class SimpleSoftCache<K, V> implements Map<K, V> {
         }
     }
 
+    @SuppressWarnings("SuspiciousMethodCalls")
     @Override
     public boolean remove(Object key, Object value) {
         if (key == null || value == null) {
diff --git 
a/core/camel-support/src/main/java/org/apache/camel/support/component/ApiMethodParser.java
 
b/core/camel-support/src/main/java/org/apache/camel/support/component/ApiMethodParser.java
index 650095e7782..24fd11b8be3 100644
--- 
a/core/camel-support/src/main/java/org/apache/camel/support/component/ApiMethodParser.java
+++ 
b/core/camel-support/src/main/java/org/apache/camel/support/component/ApiMethodParser.java
@@ -184,7 +184,7 @@ public abstract class ApiMethodParser<T> {
                     argTypes.add(type);
 
                     String typeDesc = null;
-                    if (parameters != null && name != null && argName != null) 
{
+                    if (parameters != null && argName != null) {
                         Map<String, String> params = parameters.get(name);
                         if (params != null) {
                             typeDesc = params.get(argName);
diff --git 
a/core/camel-support/src/main/java/org/apache/camel/support/jndi/JndiContext.java
 
b/core/camel-support/src/main/java/org/apache/camel/support/jndi/JndiContext.java
index f568af81371..36f28429ea4 100644
--- 
a/core/camel-support/src/main/java/org/apache/camel/support/jndi/JndiContext.java
+++ 
b/core/camel-support/src/main/java/org/apache/camel/support/jndi/JndiContext.java
@@ -46,11 +46,7 @@ import org.apache.camel.util.CastUtils;
  */
 public class JndiContext implements Context, Serializable {
     public static final String SEPARATOR = "/";
-    protected static final NameParser NAME_PARSER = new NameParser() {
-        public Name parse(String name) throws NamingException {
-            return new CompositeName(name);
-        }
-    };
+    protected static final NameParser NAME_PARSER = CompositeName::new;
     private static final @Serial long serialVersionUID = -5754338187296859149L;
 
     private final Hashtable<String, Object> environment; // environment for 
this context
diff --git 
a/core/camel-support/src/main/java/org/apache/camel/support/management/MBeanInfoAssembler.java
 
b/core/camel-support/src/main/java/org/apache/camel/support/management/MBeanInfoAssembler.java
index e3b7496e1d2..1b20013b10e 100644
--- 
a/core/camel-support/src/main/java/org/apache/camel/support/management/MBeanInfoAssembler.java
+++ 
b/core/camel-support/src/main/java/org/apache/camel/support/management/MBeanInfoAssembler.java
@@ -190,16 +190,14 @@ public class MBeanInfoAssembler implements Service {
         }
 
         // and then any additional interfaces (as interfaces can be annotated 
as well)
-        if (managedClass.getInterfaces() != null) {
-            for (Class<?> clazz : managedClass.getInterfaces()) {
-                // recursive as there may be multiple interfaces
-                if (clazz.getName().startsWith("java")) {
-                    // skip any JDK classes
-                    continue;
-                }
-                LOG.trace("Extracting attributes and operations from 
implemented interface: {}", clazz);
-                doExtractAttributesAndOperations(clazz, attributes, 
operations);
+        for (Class<?> clazz : managedClass.getInterfaces()) {
+            // recursive as there may be multiple interfaces
+            if (clazz.getName().startsWith("java")) {
+                // skip any JDK classes
+                continue;
             }
+            LOG.trace("Extracting attributes and operations from implemented 
interface: {}", clazz);
+            doExtractAttributesAndOperations(clazz, attributes, operations);
         }
     }
 
diff --git 
a/core/camel-support/src/main/java/org/apache/camel/support/processor/CamelLogProcessor.java
 
b/core/camel-support/src/main/java/org/apache/camel/support/processor/CamelLogProcessor.java
index 184a74df126..d6c9ec0192d 100644
--- 
a/core/camel-support/src/main/java/org/apache/camel/support/processor/CamelLogProcessor.java
+++ 
b/core/camel-support/src/main/java/org/apache/camel/support/processor/CamelLogProcessor.java
@@ -62,7 +62,6 @@ public class CamelLogProcessor extends AsyncProcessorSupport 
implements IdAware,
 
     public CamelLogProcessor(CamelLogger logger, ExchangeFormatter formatter, 
MaskingFormatter maskingFormatter,
                              Set<LogListener> listeners) {
-        this.formatter = new ToStringExchangeFormatter();
         this.logger = logger;
         this.formatter = formatter;
         this.maskingFormatter = maskingFormatter;
diff --git 
a/core/camel-support/src/main/java/org/apache/camel/support/processor/RestBindingAdvice.java
 
b/core/camel-support/src/main/java/org/apache/camel/support/processor/RestBindingAdvice.java
index ffab631c857..4e1d9933f6e 100644
--- 
a/core/camel-support/src/main/java/org/apache/camel/support/processor/RestBindingAdvice.java
+++ 
b/core/camel-support/src/main/java/org/apache/camel/support/processor/RestBindingAdvice.java
@@ -523,16 +523,13 @@ public class RestBindingAdvice extends ServiceSupport 
implements CamelInternalPr
                 }
             } else {
                 // we could not bind
-                if (bindingMode.equals("auto")) {
+                if (bindingMode.contains("xml")) {
+                    exchange.setException(new CamelExchangeException(
+                            "Cannot bind to xml as message body is not xml 
compatible", exchange));
+                } else if (!bindingMode.equals("auto")) {
                     // okay for auto we do not mind if we could not bind
-                } else {
-                    if (bindingMode.contains("xml")) {
-                        exchange.setException(new CamelExchangeException(
-                                "Cannot bind to xml as message body is not xml 
compatible", exchange));
-                    } else {
-                        exchange.setException(new CamelExchangeException(
-                                "Cannot bind to json as message body is not 
json compatible", exchange));
-                    }
+                    exchange.setException(new CamelExchangeException(
+                            "Cannot bind to json as message body is not json 
compatible", exchange));
                 }
             }
         } catch (Exception e) {
diff --git 
a/core/camel-support/src/main/java/org/apache/camel/support/resume/AdapterHelper.java
 
b/core/camel-support/src/main/java/org/apache/camel/support/resume/AdapterHelper.java
index 7ecb10596e2..3f9acbb160d 100644
--- 
a/core/camel-support/src/main/java/org/apache/camel/support/resume/AdapterHelper.java
+++ 
b/core/camel-support/src/main/java/org/apache/camel/support/resume/AdapterHelper.java
@@ -63,7 +63,7 @@ public final class AdapterHelper {
             final ResumeStrategyConfiguration resumeStrategyConfiguration = 
resumeStrategy.getResumeStrategyConfiguration();
 
             final ResumeCache<?> resumeCache = 
resumeStrategyConfiguration.getResumeCache();
-            if (resumeStrategyConfiguration != null && resumeCache != null) {
+            if (resumeCache != null) {
                 cacheableAdapter.setCache(resumeCache);
             } else {
                 LOG.error("No cache was provided in the configuration for the 
cacheable resume adapter {}",
diff --git 
a/core/camel-util/src/main/java/org/apache/camel/util/CamelURIParser.java 
b/core/camel-util/src/main/java/org/apache/camel/util/CamelURIParser.java
index 3a6b4899f66..8c6530c5db2 100644
--- a/core/camel-util/src/main/java/org/apache/camel/util/CamelURIParser.java
+++ b/core/camel-util/src/main/java/org/apache/camel/util/CamelURIParser.java
@@ -97,10 +97,6 @@ public final class CamelURIParser {
             }
         }
 
-        if (pathStart == 0 && schemeEnd != 0) {
-            // skip colon
-            pathStart = schemeEnd + 1;
-        }
         // invalid if there is no path anyway
         if (pathStart >= len) {
             return null;
diff --git a/core/camel-util/src/main/java/org/apache/camel/util/FileUtil.java 
b/core/camel-util/src/main/java/org/apache/camel/util/FileUtil.java
index a5df404576f..c5babf65459 100644
--- a/core/camel-util/src/main/java/org/apache/camel/util/FileUtil.java
+++ b/core/camel-util/src/main/java/org/apache/camel/util/FileUtil.java
@@ -324,17 +324,16 @@ public final class FileUtil {
         Deque<String> stack = new ArrayDeque<>();
 
         // separator can either be windows or unix style
-        String separatorRegex = "\\\\|/";
+        String separatorRegex = "[\\\\/]";
         String[] parts = path.split(separatorRegex);
         for (String part : parts) {
             if (part.equals("..") && !stack.isEmpty() && 
!"..".equals(stack.peek())) {
                 // only pop if there is a previous path, which is not a ".." 
path either
                 stack.pop();
-            } else if (part.equals(".") || part.isEmpty()) {
-                // do nothing because we don't want a path like foo/./bar or 
foo//bar
-            } else {
+            } else if (!part.equals(".") && !part.isEmpty()) {
                 stack.push(part);
             }
+            // else do nothing because we don't want a path like foo/./bar or 
foo//bar
         }
 
         // build path based on stack
diff --git a/core/camel-util/src/main/java/org/apache/camel/util/HostUtils.java 
b/core/camel-util/src/main/java/org/apache/camel/util/HostUtils.java
index 81426e5410c..eb2f4253877 100644
--- a/core/camel-util/src/main/java/org/apache/camel/util/HostUtils.java
+++ b/core/camel-util/src/main/java/org/apache/camel/util/HostUtils.java
@@ -88,13 +88,13 @@ public final class HostUtils {
     private static InetAddress chooseAddress() throws UnknownHostException {
         Set<InetAddress> addresses = getAddresses();
         if (addresses.contains(InetAddress.getLocalHost())) {
-            //Then if local host address is not bound to a loop-back 
interface, use it.
+            // if local host address is not bound to a loop-back interface, 
use it
             return InetAddress.getLocalHost();
-        } else if (addresses != null && !addresses.isEmpty()) {
-            //else return the first available addrress
-            return addresses.toArray(new InetAddress[0])[0];
+        } else if (!addresses.isEmpty()) {
+            // else return the first available address
+            return addresses.iterator().next();
         } else {
-            //else we are forcedt to use the localhost address.
+            // else we are forced to use the localhost address.
             return InetAddress.getLocalHost();
         }
     }
diff --git a/core/camel-util/src/main/java/org/apache/camel/util/IOHelper.java 
b/core/camel-util/src/main/java/org/apache/camel/util/IOHelper.java
index 6556a8c89df..925cc7cb32a 100644
--- a/core/camel-util/src/main/java/org/apache/camel/util/IOHelper.java
+++ b/core/camel-util/src/main/java/org/apache/camel/util/IOHelper.java
@@ -785,7 +785,7 @@ public final class IOHelper {
         StringBuilder result = new StringBuilder();
         try (Stream<String> lines = Files.lines(path)) {
             lines
-                    .filter(l -> stripBlankLines ? !l.isBlank() : true)
+                    .filter(l -> !stripBlankLines || !l.isBlank())
                     .filter(line -> !line.startsWith(commentPrefix))
                     .forEach(line -> result.append(line).append('\n'));
         } catch (IOException e) {
diff --git 
a/core/camel-util/src/main/java/org/apache/camel/util/ObjectHelper.java 
b/core/camel-util/src/main/java/org/apache/camel/util/ObjectHelper.java
index 705b7f98cd0..bc4f3da3b6e 100644
--- a/core/camel-util/src/main/java/org/apache/camel/util/ObjectHelper.java
+++ b/core/camel-util/src/main/java/org/apache/camel/util/ObjectHelper.java
@@ -608,7 +608,7 @@ public final class ObjectHelper {
      */
     public static URL loadResourceAsURL(String name, ClassLoader loader) {
 
-        URL url = null;
+        URL url;
         String resolvedName = resolveUriPath(name);
 
         // #1 First, try the given class loader
diff --git 
a/core/camel-util/src/main/java/org/apache/camel/util/OrderedLocationProperties.java
 
b/core/camel-util/src/main/java/org/apache/camel/util/OrderedLocationProperties.java
index 3e7d97e153b..e6538d0cfea 100644
--- 
a/core/camel-util/src/main/java/org/apache/camel/util/OrderedLocationProperties.java
+++ 
b/core/camel-util/src/main/java/org/apache/camel/util/OrderedLocationProperties.java
@@ -53,7 +53,7 @@ public final class OrderedLocationProperties extends 
BaseOrderedProperties {
         }
     }
 
-    public void putAll(String location, Map<Object, Object> map) {
+    public void putAll(String location, Map<?, ?> map) {
         for (var entry : map.entrySet()) {
             put(location, entry.getKey(), entry.getValue());
         }
diff --git 
a/core/camel-util/src/main/java/org/apache/camel/util/StringHelper.java 
b/core/camel-util/src/main/java/org/apache/camel/util/StringHelper.java
index 1889f8b500c..4c6c8446915 100644
--- a/core/camel-util/src/main/java/org/apache/camel/util/StringHelper.java
+++ b/core/camel-util/src/main/java/org/apache/camel/util/StringHelper.java
@@ -249,7 +249,7 @@ public final class StringHelper {
     public static boolean isClassName(String text) {
         if (text != null) {
             int lastIndexOf = text.lastIndexOf('.');
-            if (lastIndexOf <= 0 || lastIndexOf == text.length()) {
+            if (lastIndexOf <= 0) {
                 return false;
             }
 
diff --git 
a/core/camel-util/src/main/java/org/apache/camel/util/StringQuoteHelper.java 
b/core/camel-util/src/main/java/org/apache/camel/util/StringQuoteHelper.java
index 664544f60eb..e4e470d523a 100644
--- a/core/camel-util/src/main/java/org/apache/camel/util/StringQuoteHelper.java
+++ b/core/camel-util/src/main/java/org/apache/camel/util/StringQuoteHelper.java
@@ -120,7 +120,6 @@ public final class StringQuoteHelper {
 
         boolean singleQuoted = false;
         boolean doubleQuoted = false;
-        boolean skipLeadingWhitespace = true;
 
         for (int i = 0; i < input.length(); i++) {
             char ch = input.charAt(i);
@@ -185,9 +184,7 @@ public final class StringQuoteHelper {
                 }
                 continue;
             } else if (!isQuoting && separator != ' ' && ch == ' ') {
-                if (skipLeadingWhitespace) {
-                    continue;
-                }
+                continue;
             } else if (!isQuoting && ch == separator) {
                 // add as answer if we are not in a quote
                 if (!sb.isEmpty()) {
diff --git 
a/core/camel-util/src/main/java/org/apache/camel/util/URISupport.java 
b/core/camel-util/src/main/java/org/apache/camel/util/URISupport.java
index c9114a5c998..15908b52b6d 100644
--- a/core/camel-util/src/main/java/org/apache/camel/util/URISupport.java
+++ b/core/camel-util/src/main/java/org/apache/camel/util/URISupport.java
@@ -750,7 +750,7 @@ public final class URISupport {
                 prev = key;
             }
             if (sort) {
-                final String[] array = entries.toArray(new 
String[entries.size()]);
+                final String[] array = entries.toArray(new String[0]);
                 Arrays.sort(array);
 
                 query = URISupport.createQueryString(array, parameters, true);
diff --git 
a/core/camel-util/src/main/java/org/apache/camel/util/concurrent/SynchronousExecutorService.java
 
b/core/camel-util/src/main/java/org/apache/camel/util/concurrent/SynchronousExecutorService.java
index 3020837e99e..d64897ae8e5 100644
--- 
a/core/camel-util/src/main/java/org/apache/camel/util/concurrent/SynchronousExecutorService.java
+++ 
b/core/camel-util/src/main/java/org/apache/camel/util/concurrent/SynchronousExecutorService.java
@@ -41,7 +41,7 @@ public class SynchronousExecutorService extends 
AbstractExecutorService {
     @Override
     public List<Runnable> shutdownNow() {
         // not implemented
-        return null;
+        return List.of();
     }
 
     @Override
diff --git 
a/core/camel-xml-io-util/src/main/java/org/apache/camel/xml/io/util/XmlStreamReader.java
 
b/core/camel-xml-io-util/src/main/java/org/apache/camel/xml/io/util/XmlStreamReader.java
index 3cc9b37345b..16fea056326 100644
--- 
a/core/camel-xml-io-util/src/main/java/org/apache/camel/xml/io/util/XmlStreamReader.java
+++ 
b/core/camel-xml-io-util/src/main/java/org/apache/camel/xml/io/util/XmlStreamReader.java
@@ -80,7 +80,7 @@ public class XmlStreamReader extends Reader {
     private static final String CP1047 = "CP1047";
     private static final Pattern CHARSET_PATTERN = 
Pattern.compile("charset=([.[^; ]]*)");
     private static final Pattern ENCODING_PATTERN
-            = 
Pattern.compile("<\\?xml.*encoding[\\s]*=[\\s]*((?:\".[^\"]*\")|(?:'.[^']*'))", 
Pattern.MULTILINE);
+            = 
Pattern.compile("<\\?xml.*encoding[\\s]*=[\\s]*(\".[^\"]*\"|'.[^']*')", 
Pattern.MULTILINE);
     private static final MessageFormat RAW_EX_1
             = new MessageFormat("Invalid encoding, BOM [{0}] XML guess [{1}] 
XML prolog [{2}] encoding mismatch");
     private static final MessageFormat RAW_EX_2
diff --git 
a/core/camel-xml-io/src/main/java/org/apache/camel/xml/in/BaseParser.java 
b/core/camel-xml-io/src/main/java/org/apache/camel/xml/in/BaseParser.java
index 8570efbb7c2..265525d9841 100644
--- a/core/camel-xml-io/src/main/java/org/apache/camel/xml/in/BaseParser.java
+++ b/core/camel-xml-io/src/main/java/org/apache/camel/xml/in/BaseParser.java
@@ -312,7 +312,7 @@ public class BaseParser {
 
     protected Element doParseDOMElement(String rootElementName, String 
namespace, List<Element> existing)
             throws XmlPullParserException, IOException {
-        Document doc = null;
+        Document doc;
         if (existing != null && !existing.isEmpty()) {
             doc = existing.get(0).getOwnerDocument();
         } else {
@@ -476,17 +476,17 @@ public class BaseParser {
         try {
             // Set secure processing
             factory.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, 
Boolean.TRUE);
-        } catch (ParserConfigurationException e) {
+        } catch (ParserConfigurationException ignore) {
         }
         try {
             // Disable the external-general-entities by default
             
factory.setFeature("http://xml.org/sax/features/external-general-entities";, 
false);
-        } catch (ParserConfigurationException e) {
+        } catch (ParserConfigurationException ignore) {
         }
         try {
             // Disable the external-parameter-entities by default
             
factory.setFeature("http://xml.org/sax/features/external-parameter-entities";, 
false);
-        } catch (ParserConfigurationException e) {
+        } catch (ParserConfigurationException ignore) {
         }
         // setup the SecurityManager by default if it's apache xerces
         try {
@@ -496,7 +496,7 @@ public class BaseParser {
                 // Here we just use the default setting of the SeurityManager
                 
factory.setAttribute("http://apache.org/xml/properties/security-manager";, sm);
             }
-        } catch (Exception e) {
+        } catch (Exception ignore) {
         }
         return factory;
     }
diff --git 
a/core/camel-xml-io/src/main/java/org/apache/camel/xml/io/MXParser.java 
b/core/camel-xml-io/src/main/java/org/apache/camel/xml/io/MXParser.java
index 1a4dfe328d4..701d70876bb 100644
--- a/core/camel-xml-io/src/main/java/org/apache/camel/xml/io/MXParser.java
+++ b/core/camel-xml-io/src/main/java/org/apache/camel/xml/io/MXParser.java
@@ -125,7 +125,7 @@ public class MXParser implements XmlPullParser {
                 System.err.println("TRACE_SIZING elStackSize " + elStackSize + 
" ==> " + newSize);
             }
             final boolean needsCopying = elStackSize > 0;
-            String[] arr = null;
+            String[] arr;
             // reuse arr local variable slot
             arr = new String[newSize];
             if (needsCopying)
@@ -210,7 +210,7 @@ public class MXParser implements XmlPullParser {
                 System.err.println("TRACE_SIZING attrPosSize " + attrPosSize + 
" ==> " + newSize);
             }
             final boolean needsCopying = attrPosSize > 0;
-            String[] arr = null;
+            String[] arr;
 
             arr = new String[newSize];
             if (needsCopying)
@@ -238,8 +238,6 @@ public class MXParser implements XmlPullParser {
                     System.arraycopy(attributeNameHash, 0, iarr, 0, 
attrPosSize);
                 attributeNameHash = iarr;
             }
-
-            arr = null;
             // //assert attrUri.length > size
         }
     }
@@ -1388,7 +1386,7 @@ public class MXParser implements XmlPullParser {
         seenMarkup = false;
         boolean gotS = false;
         posStart = pos - 1;
-        final boolean normalizeIgnorableWS = tokenize == true && 
roundtripSupported == false;
+        final boolean normalizeIgnorableWS = tokenize && !roundtripSupported;
         boolean normalizedCR = false;
         while (true) {
             // deal with Misc
@@ -1607,15 +1605,11 @@ public class MXParser implements XmlPullParser {
         } catch (EOFException ex) {
             reachedEnd = true;
         }
-        if (reachedEnd) {
-            if (tokenize && gotS) {
-                posEnd = pos; // well - this is LAST available character pos
-                return eventType = IGNORABLE_WHITESPACE;
-            }
-            return eventType = END_DOCUMENT;
-        } else {
-            throw new XmlPullParserException("internal error in parseEpilog");
+        if (tokenize && gotS) {
+            posEnd = pos; // well - this is LAST available character pos
+            return eventType = IGNORABLE_WHITESPACE;
         }
+        return eventType = END_DOCUMENT;
     }
 
     public int parseEndTag() throws XmlPullParserException, IOException {
@@ -1733,7 +1727,7 @@ public class MXParser implements XmlPullParser {
                         // (pos -1) - (colonPos + 1));
                         pos - 2 - (colonPos - bufAbsoluteStart));
             } else {
-                prefix = elPrefix[depth] = null;
+                elPrefix[depth] = null;
                 elName[depth] = newString(buf, nameStart - bufAbsoluteStart, 
elLen);
             }
         } else {
@@ -2050,7 +2044,7 @@ public class MXParser implements XmlPullParser {
         }
 
         if (processNamespaces && startsWithXmlns) {
-            String ns = null;
+            String ns;
             if (!usePC) {
                 ns = newStringIntern(buf, posStart, pos - 1 - posStart);
             } else {
@@ -2856,21 +2850,19 @@ public class MXParser implements XmlPullParser {
         if (bufEnd > bufSoftLimit) {
 
             // expand buffer it makes sense!!!!
-            boolean compact = bufStart > bufSoftLimit;
-            boolean expand = false;
+            boolean compact;
             if (preventBufferCompaction) {
                 compact = false;
-                expand = true;
-            } else if (!compact) {
-                // freeSpace
-                if (bufStart < buf.length / 2) {
-                    // less then half buffer available forcompactin --> expand
-                    // instead!!!
-                    expand = true;
-                } else {
-                    // at least half of buffer can be reclaimed --> worthwhile
-                    // effort!!!
-                    compact = true;
+            } else {
+                compact = bufStart > bufSoftLimit;
+                if (!compact) {
+                    // freeSpace
+                    // if at least half of buffer can be reclaimed --> 
worthwhile effort!!!
+                    if (bufStart >= buf.length / 2) {
+                        compact = true;
+                    } else {
+                        // less than half buffer available for compacting --> 
expand instead!!!
+                    }
                 }
             }
 
@@ -2883,11 +2875,11 @@ public class MXParser implements XmlPullParser {
                     System.out.println("TRACE_SIZING fillBuf() compacting " + 
bufStart + " bufEnd=" + bufEnd + " pos=" + pos
                                        + " posStart=" + posStart + " posEnd=" 
+ posEnd
                                        + " buf first 100 chars:"
-                                       + new String(buf, bufStart, bufEnd - 
bufStart < 100 ? bufEnd - bufStart : 100));
+                                       + new String(buf, bufStart, 
Math.min(bufEnd - bufStart, 100)));
 
-            } else if (expand) {
+            } else {
                 final int newSize = 2 * buf.length;
-                final char newBuf[] = new char[newSize];
+                final char[] newBuf = new char[newSize];
                 if (TRACE_SIZING)
                     System.out.println("TRACE_SIZING fillBuf() " + buf.length 
+ " => " + newSize);
                 System.arraycopy(buf, bufStart, newBuf, 0, bufEnd - bufStart);
@@ -2897,8 +2889,6 @@ public class MXParser implements XmlPullParser {
                     bufSoftLimit = (int) ((((long) bufLoadFactor) * 
buf.length) / 100);
                 }
 
-            } else {
-                throw new XmlPullParserException("internal error in 
fillBuffer()");
             }
             bufEnd -= bufStart;
             pos -= bufStart;
diff --git 
a/core/camel-xml-jaxb/src/main/java/org/apache/camel/xml/jaxb/JaxbHelper.java 
b/core/camel-xml-jaxb/src/main/java/org/apache/camel/xml/jaxb/JaxbHelper.java
index 712f2d6d4be..879c8a431f5 100644
--- 
a/core/camel-xml-jaxb/src/main/java/org/apache/camel/xml/jaxb/JaxbHelper.java
+++ 
b/core/camel-xml-jaxb/src/main/java/org/apache/camel/xml/jaxb/JaxbHelper.java
@@ -182,7 +182,7 @@ public final class JaxbHelper {
         for (int i = 0; i < attributes.getLength(); i++) {
             Node item = attributes.item(i);
             String nsPrefix = item.getNodeName();
-            if (nsPrefix != null && nsPrefix.startsWith("xmlns")) {
+            if (nsPrefix.startsWith("xmlns")) {
                 String nsValue = item.getNodeValue();
                 String[] nsParts = nsPrefix.split(":");
                 if (nsParts.length == 1) {
@@ -642,12 +642,10 @@ public final class JaxbHelper {
                     id = ((Element) parent).getAttribute("id");
                 }
             }
-            if (id != null) {
-                var loc = locations.get(id);
-                if (loc != null) {
-                    el.setAttribute("sourceLineNumber", 
loc.getKey().toString());
-                    el.setAttribute("sourceLocation", loc.getValue());
-                }
+            var loc = locations.get(id);
+            if (loc != null) {
+                el.setAttribute("sourceLineNumber", loc.getKey().toString());
+                el.setAttribute("sourceLocation", loc.getValue());
             }
         }
         if (node.hasChildNodes()) {
diff --git 
a/core/camel-xml-jaxp/src/main/java/org/apache/camel/converter/jaxp/XMLStreamReaderInputStream.java
 
b/core/camel-xml-jaxp/src/main/java/org/apache/camel/converter/jaxp/XMLStreamReaderInputStream.java
index 0cdbbf421f6..583a74d2b02 100644
--- 
a/core/camel-xml-jaxp/src/main/java/org/apache/camel/converter/jaxp/XMLStreamReaderInputStream.java
+++ 
b/core/camel-xml-jaxp/src/main/java/org/apache/camel/converter/jaxp/XMLStreamReaderInputStream.java
@@ -58,7 +58,7 @@ class XMLStreamReaderInputStream extends InputStream {
     @Override
     public int read() throws IOException {
         byte[] ba = new byte[1];
-        return read(ba, 0, 1) == 1 ? ba[0] : -1;
+        return read(ba, 0, 1) == 1 ? ba[0] & 0xFF : -1;
     }
 
     @Override
diff --git 
a/core/camel-xml-jaxp/src/main/java/org/apache/camel/support/processor/validation/ValidatingProcessor.java
 
b/core/camel-xml-jaxp/src/main/java/org/apache/camel/support/processor/validation/ValidatingProcessor.java
index fcf23af4548..08b033e6050 100644
--- 
a/core/camel-xml-jaxp/src/main/java/org/apache/camel/support/processor/validation/ValidatingProcessor.java
+++ 
b/core/camel-xml-jaxp/src/main/java/org/apache/camel/support/processor/validation/ValidatingProcessor.java
@@ -31,7 +31,6 @@ import javax.xml.transform.dom.DOMResult;
 import javax.xml.transform.dom.DOMSource;
 import javax.xml.transform.sax.SAXResult;
 import javax.xml.transform.sax.SAXSource;
-import javax.xml.transform.stax.StAXSource;
 import javax.xml.transform.stream.StreamSource;
 import javax.xml.validation.Schema;
 import javax.xml.validation.SchemaFactory;
@@ -118,7 +117,7 @@ public class ValidatingProcessor extends 
AsyncProcessorSupport {
         Source source = null;
         InputStream is = null;
         try {
-            Result result = null;
+            Result result;
             // only convert to input stream if really needed
             if (isInputStreamNeeded(exchange)) {
                 is = getContentToValidate(exchange, InputStream.class);
@@ -148,7 +147,7 @@ public class ValidatingProcessor extends 
AsyncProcessorSupport {
                 result = new DOMResult();
             } else if (source instanceof SAXSource) {
                 result = new SAXResult();
-            } else if (source instanceof StAXSource || source instanceof 
StreamSource) {
+            } else {
                 result = null;
             }
 
@@ -328,7 +327,7 @@ public class ValidatingProcessor extends 
AsyncProcessorSupport {
      *
      * @param  exchange the current exchange
      * @return          <tt>true</tt> to convert to {@link InputStream} 
beforehand converting to {@link Source}
-     *                  afterwards.
+     *                  afterward.
      */
     protected boolean isInputStreamNeeded(Exchange exchange) {
         Object content = getContentToValidate(exchange);

Reply via email to