diff --git a/examples/README.adoc b/examples/README.adoc
index dcd0143..80bf606 100644
--- a/examples/README.adoc
+++ b/examples/README.adoc
@@ -11,98 +11,7 @@
 == Examples
 
 // examples: START
-Number of Examples: 40 (0 deprecated)
 
-[width="100%",cols="4,2,4",options="header"]
-|===
-| Example | Category | Description
-
-| link:micrometer/README.adoc[Micrometer] (camel-example-micrometer) | Advanced | An example showing how to work with Camel, Spring Java Config and Micrometer monitoring
-
-| link:main/README.adoc[Main] (camel-example-main) | Beginner | An example for showing standalone Camel
-
-| link:main-endpointdsl/README.adoc[Main Endpointdsl] (camel-example-main-endpointdsl) | Beginner | An example for showing standalone Camel with Endpoint DSL
-
-| link:main-endpointdsl-aws2-s3/README.adoc[Main Endpointdsl Aws2 S3] (camel-example-main-endpointdsl-aws2-s3) | Beginner | An example for showing standalone Camel with Endpoint DSL and AWS2-S3
-
-| link:main-endpointdsl-aws2-s3-kafka/README.adoc[Main Endpointdsl Aws2 S3 Kafka] (camel-example-main-endpointdsl-aws2-s3-kafka) | Beginner | An example for showing standalone Camel with Endpoint DSL and AWS2-S3 and Kafka
-
-| link:main-health/README.adoc[Main Health] (camel-example-main-health) | Beginner | An example for showing standalone Camel with Health Checks
-
-| link:main-joor/README.adoc[Main Joor] (camel-example-main-joor) | Beginner | An example for showing standalone Camel with jOOR runtime Java compiled
-
-| link:main-lambda/README.adoc[Main Lambda] (camel-example-main-lambda) | Beginner | Camel routes lambda style
-
-| link:main-tiny/README.adoc[Main Tiny] (camel-example-main-tiny) | Beginner | An example for showing standalone Camel with as few JARs on classpath as possible
-
-| link:main-xml/README.adoc[Main Xml] (camel-example-main-xml) | Beginner | An example for showing standalone Camel using XML
-
-| link:oaipmh/README.adoc[OAIPMH example] (camel-example-oaipmh) | Beginner | An example with OAIPMH component
-
-| link:pojo-messaging/README.adoc[POJO Routing] (camel-example-pojo-messaging) | Beginner | An example showing how to produce and consume messages from Camel endpoints using annotated POJOs
-    
-
-| link:routeloader/README.adoc[Routeloader] (camel-example-routeloader) | Beginner | Example loading and compiling Java routes on startup
-
-| link:routetemplate/README.adoc[Routetemplate] (camel-example-routetemplate) | Beginner | How to use route templates (parameterized routes)
-
-| link:servlet-tomcat/README.adoc[Servlet Tomcat] (camel-example-servlet-tomcat) | Beginner | An example using Camel Servlet with Apache Tomcat
-
-| link:spring/README.adoc[Spring] (camel-example-spring) | Beginner | An example showing how to work with Camel and Spring
-
-| link:spring-javaconfig/README.adoc[Spring Java Config] (camel-example-spring-javaconfig) | Beginner | An example showing how to work with Camel and Spring Java Config
-
-| link:spring-xquery/README.adoc[Spring XQuery] (camel-example-spring-xquery) | Beginner | An example using Spring XML to transform a message using XQuery
-
-| link:main-endpointdsl-aws2/README[Main Endpointdsl Aws2] (camel-example-main-endpointdsl-aws2) | Cloud | An example for showing standalone Camel with multiple AWS2 components
-
-| link:mongodb/README.adoc[Mongodb] (camel-example-mongodb) | Database | An example that uses Camel MongoDB component
-
-| link:route-throttling/README.adoc[Route Throttling] (camel-example-route-throttling) | EIP | A client-server example using JMS transport where we on the server side can throttle the Camel
-        route dynamically based on the flow of messages
-    
-
-| link:widget-gadget-cdi/README.adoc[Widget Gadget CDI] (camel-example-widget-gadget-cdi) | EIP | The widget and gadget example from the EIP book
-
-| link:widget-gadget-java/README.adoc[Widget Gadget Java] (camel-example-widget-gadget-java) | EIP | The widget and gadget example from the EIP book
-
-| link:widget-gadget-xml/README.adoc[Widget Gadget XML] (camel-example-widget-gadget-xml) | EIP | The widget and gadget example from the EIP book
-
-| link:transformer-cdi/README.adoc[Transformer CDI] (camel-example-transformer-cdi) | Input/Output Type Contract | An example demonstrating declarative transformation along data type declaration using Java DSL and CDI
-    
-
-| link:transformer-demo/README.adoc[Transformer and Validator Spring XML] (camel-example-transformer-demo) | Input/Output Type Contract | An example demonstrating declarative transformation and validation along data type declaration using
-        Spring DSL
-    
-
-| link:management/README.adoc[Management] (camel-example-management) | Management and Monitoring | An example for showing Camel JMX management
-
-| link:splunk/README.adoc[Splunk] (camel-example-splunk) | Management and Monitoring | An example using Splunk
-
-| link:main-artemis/README.adoc[Main Artemis] (camel-example-main-artemis) | Messaging | An example for showing standalone Camel with ActiveMQ Artemis
-
-| link:netty-custom-correlation/README.adoc[Netty Custom Correlation] (camel-example-netty-custom-correlation) | Messaging | An example for showing Camel Netty with custom codec and correlation id
-
-| link:spring-pulsar/README.adoc[Spring Pulsar] (camel-example-spring-pulsar) | Messaging | An example using Spring XML to talk to the Pulsar server from different kind of client techniques
-
-| link:vertx-kafka/README.adoc[Vertx Kafka] (camel-example-vertx-kafka) | Messaging | An example for Vertx Kafka
-
-| link:reactive-executor-vertx/README.adoc[Reactive Executor Vertx] (camel-example-reactive-executor-vertx) | Reactive | An example for showing using VertX as reactive executor with standalone Camel
-
-| link:openapi-cdi/README.adoc[OpenApi CDI] (camel-example-openapi-cdi) | Rest | An example using REST DSL and OpenApi Java with CDI
-
-| link:swagger-cdi/README.adoc[Swagger CDI] (camel-example-swagger-cdi) | Rest | An example using REST DSL and Swagger Java with CDI
-
-| link:spring-security/README.adoc[Spring Security] (camel-example-spring-security) | Security | An example showing how to work with Camel and Spring Security
-
-| link:salesforce-consumer/README.adoc[Salesforce Consumer] (camel-example-salesforce-consumer) | Social | An example that uses Salesforce Rest Streaming API
-
-| link:telegram/README.adoc[Telegram] (camel-example-telegram) | Social | An example that uses Telegram API
-
-| link:twitter-websocket/README.adoc[Twitter Websocket] (camel-example-twitter-websocket) | Social | An example that pushes new tweets to a web page using web-socket
-
-| link:spring-ws/README.adoc[Spring WebService] (camel-example-spring-ws) | WebService | An example showing how to work with Camel and Spring Web Services
-|===
 // examples: END
 
 == Help and contributions
diff --git a/examples/main-tiny/src/generated/java/org/apache/camel/example/MyBeanConfigurer.java b/examples/main-tiny/src/generated/java/org/apache/camel/example/MyBeanConfigurer.java
index cb95d08..361530d 100644
--- a/examples/main-tiny/src/generated/java/org/apache/camel/example/MyBeanConfigurer.java
+++ b/examples/main-tiny/src/generated/java/org/apache/camel/example/MyBeanConfigurer.java
@@ -1,9 +1,15 @@
 /* Generated by camel build tools - do NOT edit this file! */
 package org.apache.camel.example;
 
+import java.util.Map;
+
 import org.apache.camel.CamelContext;
-import org.apache.camel.spi.GeneratedPropertyConfigurer;
+import org.apache.camel.spi.ExtendedPropertyConfigurerGetter;
 import org.apache.camel.spi.PropertyConfigurerGetter;
+import org.apache.camel.spi.ConfigurerStrategy;
+import org.apache.camel.spi.GeneratedPropertyConfigurer;
+import org.apache.camel.util.CaseInsensitiveMap;
+import org.apache.camel.example.MyBean;
 
 /**
  * Generated by camel build tools - do NOT edit this file!
