diff --git a/connectors/camel-aws-cloudtrail-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awscloudtrailsource/CamelAwscloudtrailsourceSourceConnector.java b/connectors/camel-aws-cloudtrail-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awscloudtrailsource/CamelAwscloudtrailsourceSourceConnector.java
index 21ec42e..ac69701 100644
--- a/connectors/camel-aws-cloudtrail-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awscloudtrailsource/CamelAwscloudtrailsourceSourceConnector.java
+++ b/connectors/camel-aws-cloudtrail-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awscloudtrailsource/CamelAwscloudtrailsourceSourceConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.awscloudtrailsource;
+ */package org.apache.camel.kafkaconnector.awscloudtrailsource;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSourceConnector;
diff --git a/connectors/camel-aws-cloudtrail-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awscloudtrailsource/CamelAwscloudtrailsourceSourceConnectorConfig.java b/connectors/camel-aws-cloudtrail-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awscloudtrailsource/CamelAwscloudtrailsourceSourceConnectorConfig.java
index bf69fd3..b65ce90 100644
--- a/connectors/camel-aws-cloudtrail-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awscloudtrailsource/CamelAwscloudtrailsourceSourceConnectorConfig.java
+++ b/connectors/camel-aws-cloudtrail-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awscloudtrailsource/CamelAwscloudtrailsourceSourceConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.awscloudtrailsource;
+ */package org.apache.camel.kafkaconnector.awscloudtrailsource;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-aws-cloudtrail-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awscloudtrailsource/CamelAwscloudtrailsourceSourceTask.java b/connectors/camel-aws-cloudtrail-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awscloudtrailsource/CamelAwscloudtrailsourceSourceTask.java
index 99a487b..7ba41bb 100644
--- a/connectors/camel-aws-cloudtrail-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awscloudtrailsource/CamelAwscloudtrailsourceSourceTask.java
+++ b/connectors/camel-aws-cloudtrail-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awscloudtrailsource/CamelAwscloudtrailsourceSourceTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.awscloudtrailsource;
+ */package org.apache.camel.kafkaconnector.awscloudtrailsource;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-aws-cloudwatch-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awscloudwatchsink/CamelAwscloudwatchsinkSinkConnector.java b/connectors/camel-aws-cloudwatch-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awscloudwatchsink/CamelAwscloudwatchsinkSinkConnector.java
index c250f25..7bf1cf2 100644
--- a/connectors/camel-aws-cloudwatch-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awscloudwatchsink/CamelAwscloudwatchsinkSinkConnector.java
+++ b/connectors/camel-aws-cloudwatch-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awscloudwatchsink/CamelAwscloudwatchsinkSinkConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.awscloudwatchsink;
+ */package org.apache.camel.kafkaconnector.awscloudwatchsink;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSinkConnector;
diff --git a/connectors/camel-aws-cloudwatch-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awscloudwatchsink/CamelAwscloudwatchsinkSinkConnectorConfig.java b/connectors/camel-aws-cloudwatch-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awscloudwatchsink/CamelAwscloudwatchsinkSinkConnectorConfig.java
index ca15ba7..7e25d2e 100644
--- a/connectors/camel-aws-cloudwatch-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awscloudwatchsink/CamelAwscloudwatchsinkSinkConnectorConfig.java
+++ b/connectors/camel-aws-cloudwatch-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awscloudwatchsink/CamelAwscloudwatchsinkSinkConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.awscloudwatchsink;
+ */package org.apache.camel.kafkaconnector.awscloudwatchsink;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-aws-cloudwatch-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awscloudwatchsink/CamelAwscloudwatchsinkSinkTask.java b/connectors/camel-aws-cloudwatch-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awscloudwatchsink/CamelAwscloudwatchsinkSinkTask.java
index 1f2d7dc..4052207 100644
--- a/connectors/camel-aws-cloudwatch-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awscloudwatchsink/CamelAwscloudwatchsinkSinkTask.java
+++ b/connectors/camel-aws-cloudwatch-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awscloudwatchsink/CamelAwscloudwatchsinkSinkTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.awscloudwatchsink;
+ */package org.apache.camel.kafkaconnector.awscloudwatchsink;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-aws-ddb-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awsddbsink/CamelAwsddbsinkSinkConnector.java b/connectors/camel-aws-ddb-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awsddbsink/CamelAwsddbsinkSinkConnector.java
index 92c3113..fb7db87 100644
--- a/connectors/camel-aws-ddb-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awsddbsink/CamelAwsddbsinkSinkConnector.java
+++ b/connectors/camel-aws-ddb-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awsddbsink/CamelAwsddbsinkSinkConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.awsddbsink;
+ */package org.apache.camel.kafkaconnector.awsddbsink;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSinkConnector;
diff --git a/connectors/camel-aws-ddb-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awsddbsink/CamelAwsddbsinkSinkConnectorConfig.java b/connectors/camel-aws-ddb-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awsddbsink/CamelAwsddbsinkSinkConnectorConfig.java
index f68c5bf..da1a029 100644
--- a/connectors/camel-aws-ddb-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awsddbsink/CamelAwsddbsinkSinkConnectorConfig.java
+++ b/connectors/camel-aws-ddb-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awsddbsink/CamelAwsddbsinkSinkConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.awsddbsink;
+ */package org.apache.camel.kafkaconnector.awsddbsink;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-aws-ddb-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awsddbsink/CamelAwsddbsinkSinkTask.java b/connectors/camel-aws-ddb-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awsddbsink/CamelAwsddbsinkSinkTask.java
index bbf4741..dc8272b 100644
--- a/connectors/camel-aws-ddb-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awsddbsink/CamelAwsddbsinkSinkTask.java
+++ b/connectors/camel-aws-ddb-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awsddbsink/CamelAwsddbsinkSinkTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.awsddbsink;
+ */package org.apache.camel.kafkaconnector.awsddbsink;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-aws-ddb-streams-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awsddbstreamssource/CamelAwsddbstreamssourceSourceConnector.java b/connectors/camel-aws-ddb-streams-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awsddbstreamssource/CamelAwsddbstreamssourceSourceConnector.java
index 3e6fdb8..c59b195 100644
--- a/connectors/camel-aws-ddb-streams-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awsddbstreamssource/CamelAwsddbstreamssourceSourceConnector.java
+++ b/connectors/camel-aws-ddb-streams-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awsddbstreamssource/CamelAwsddbstreamssourceSourceConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.awsddbstreamssource;
+ */package org.apache.camel.kafkaconnector.awsddbstreamssource;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSourceConnector;
diff --git a/connectors/camel-aws-ddb-streams-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awsddbstreamssource/CamelAwsddbstreamssourceSourceConnectorConfig.java b/connectors/camel-aws-ddb-streams-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awsddbstreamssource/CamelAwsddbstreamssourceSourceConnectorConfig.java
index d7a205a..d112839 100644
--- a/connectors/camel-aws-ddb-streams-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awsddbstreamssource/CamelAwsddbstreamssourceSourceConnectorConfig.java
+++ b/connectors/camel-aws-ddb-streams-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awsddbstreamssource/CamelAwsddbstreamssourceSourceConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.awsddbstreamssource;
+ */package org.apache.camel.kafkaconnector.awsddbstreamssource;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-aws-ddb-streams-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awsddbstreamssource/CamelAwsddbstreamssourceSourceTask.java b/connectors/camel-aws-ddb-streams-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awsddbstreamssource/CamelAwsddbstreamssourceSourceTask.java
index 6cda411..bbc5e45 100644
--- a/connectors/camel-aws-ddb-streams-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awsddbstreamssource/CamelAwsddbstreamssourceSourceTask.java
+++ b/connectors/camel-aws-ddb-streams-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awsddbstreamssource/CamelAwsddbstreamssourceSourceTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.awsddbstreamssource;
+ */package org.apache.camel.kafkaconnector.awsddbstreamssource;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-aws-ec2-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awsec2sink/CamelAwsec2sinkSinkConnector.java b/connectors/camel-aws-ec2-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awsec2sink/CamelAwsec2sinkSinkConnector.java
index 84dc8f1..a96f082 100644
--- a/connectors/camel-aws-ec2-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awsec2sink/CamelAwsec2sinkSinkConnector.java
+++ b/connectors/camel-aws-ec2-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awsec2sink/CamelAwsec2sinkSinkConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.awsec2sink;
+ */package org.apache.camel.kafkaconnector.awsec2sink;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSinkConnector;
diff --git a/connectors/camel-aws-ec2-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awsec2sink/CamelAwsec2sinkSinkConnectorConfig.java b/connectors/camel-aws-ec2-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awsec2sink/CamelAwsec2sinkSinkConnectorConfig.java
index d05db93..07c62e2 100644
--- a/connectors/camel-aws-ec2-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awsec2sink/CamelAwsec2sinkSinkConnectorConfig.java
+++ b/connectors/camel-aws-ec2-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awsec2sink/CamelAwsec2sinkSinkConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.awsec2sink;
+ */package org.apache.camel.kafkaconnector.awsec2sink;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-aws-ec2-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awsec2sink/CamelAwsec2sinkSinkTask.java b/connectors/camel-aws-ec2-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awsec2sink/CamelAwsec2sinkSinkTask.java
index 87f7b87..fe7b1a5 100644
--- a/connectors/camel-aws-ec2-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awsec2sink/CamelAwsec2sinkSinkTask.java
+++ b/connectors/camel-aws-ec2-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awsec2sink/CamelAwsec2sinkSinkTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.awsec2sink;
+ */package org.apache.camel.kafkaconnector.awsec2sink;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-aws-eventbridge-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awseventbridgesink/CamelAwseventbridgesinkSinkConnector.java b/connectors/camel-aws-eventbridge-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awseventbridgesink/CamelAwseventbridgesinkSinkConnector.java
index b141640..b907ff1 100644
--- a/connectors/camel-aws-eventbridge-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awseventbridgesink/CamelAwseventbridgesinkSinkConnector.java
+++ b/connectors/camel-aws-eventbridge-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awseventbridgesink/CamelAwseventbridgesinkSinkConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.awseventbridgesink;
+ */package org.apache.camel.kafkaconnector.awseventbridgesink;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSinkConnector;
diff --git a/connectors/camel-aws-eventbridge-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awseventbridgesink/CamelAwseventbridgesinkSinkConnectorConfig.java b/connectors/camel-aws-eventbridge-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awseventbridgesink/CamelAwseventbridgesinkSinkConnectorConfig.java
index 9006e14..102d390 100644
--- a/connectors/camel-aws-eventbridge-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awseventbridgesink/CamelAwseventbridgesinkSinkConnectorConfig.java
+++ b/connectors/camel-aws-eventbridge-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awseventbridgesink/CamelAwseventbridgesinkSinkConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.awseventbridgesink;
+ */package org.apache.camel.kafkaconnector.awseventbridgesink;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-aws-eventbridge-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awseventbridgesink/CamelAwseventbridgesinkSinkTask.java b/connectors/camel-aws-eventbridge-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awseventbridgesink/CamelAwseventbridgesinkSinkTask.java
index 88a40c9..4736daa 100644
--- a/connectors/camel-aws-eventbridge-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awseventbridgesink/CamelAwseventbridgesinkSinkTask.java
+++ b/connectors/camel-aws-eventbridge-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awseventbridgesink/CamelAwseventbridgesinkSinkTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.awseventbridgesink;
+ */package org.apache.camel.kafkaconnector.awseventbridgesink;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-aws-kinesis-firehose-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awskinesisfirehosesink/CamelAwskinesisfirehosesinkSinkConnector.java b/connectors/camel-aws-kinesis-firehose-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awskinesisfirehosesink/CamelAwskinesisfirehosesinkSinkConnector.java
index f20bfce..4ab24ec 100644
--- a/connectors/camel-aws-kinesis-firehose-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awskinesisfirehosesink/CamelAwskinesisfirehosesinkSinkConnector.java
+++ b/connectors/camel-aws-kinesis-firehose-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awskinesisfirehosesink/CamelAwskinesisfirehosesinkSinkConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.awskinesisfirehosesink;
+ */package org.apache.camel.kafkaconnector.awskinesisfirehosesink;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSinkConnector;
diff --git a/connectors/camel-aws-kinesis-firehose-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awskinesisfirehosesink/CamelAwskinesisfirehosesinkSinkConnectorConfig.java b/connectors/camel-aws-kinesis-firehose-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awskinesisfirehosesink/CamelAwskinesisfirehosesinkSinkConnectorConfig.java
index 0c13a24..fc273a4 100644
--- a/connectors/camel-aws-kinesis-firehose-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awskinesisfirehosesink/CamelAwskinesisfirehosesinkSinkConnectorConfig.java
+++ b/connectors/camel-aws-kinesis-firehose-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awskinesisfirehosesink/CamelAwskinesisfirehosesinkSinkConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.awskinesisfirehosesink;
+ */package org.apache.camel.kafkaconnector.awskinesisfirehosesink;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-aws-kinesis-firehose-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awskinesisfirehosesink/CamelAwskinesisfirehosesinkSinkTask.java b/connectors/camel-aws-kinesis-firehose-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awskinesisfirehosesink/CamelAwskinesisfirehosesinkSinkTask.java
index 493b14d..d82493d 100644
--- a/connectors/camel-aws-kinesis-firehose-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awskinesisfirehosesink/CamelAwskinesisfirehosesinkSinkTask.java
+++ b/connectors/camel-aws-kinesis-firehose-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awskinesisfirehosesink/CamelAwskinesisfirehosesinkSinkTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.awskinesisfirehosesink;
+ */package org.apache.camel.kafkaconnector.awskinesisfirehosesink;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-aws-kinesis-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awskinesissink/CamelAwskinesissinkSinkConnector.java b/connectors/camel-aws-kinesis-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awskinesissink/CamelAwskinesissinkSinkConnector.java
index 1a170d6..1788dd3 100644
--- a/connectors/camel-aws-kinesis-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awskinesissink/CamelAwskinesissinkSinkConnector.java
+++ b/connectors/camel-aws-kinesis-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awskinesissink/CamelAwskinesissinkSinkConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.awskinesissink;
+ */package org.apache.camel.kafkaconnector.awskinesissink;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSinkConnector;
diff --git a/connectors/camel-aws-kinesis-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awskinesissink/CamelAwskinesissinkSinkConnectorConfig.java b/connectors/camel-aws-kinesis-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awskinesissink/CamelAwskinesissinkSinkConnectorConfig.java
index 7ad40c4..35f3de9 100644
--- a/connectors/camel-aws-kinesis-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awskinesissink/CamelAwskinesissinkSinkConnectorConfig.java
+++ b/connectors/camel-aws-kinesis-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awskinesissink/CamelAwskinesissinkSinkConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.awskinesissink;
+ */package org.apache.camel.kafkaconnector.awskinesissink;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-aws-kinesis-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awskinesissink/CamelAwskinesissinkSinkTask.java b/connectors/camel-aws-kinesis-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awskinesissink/CamelAwskinesissinkSinkTask.java
index 47ca961..e703019 100644
--- a/connectors/camel-aws-kinesis-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awskinesissink/CamelAwskinesissinkSinkTask.java
+++ b/connectors/camel-aws-kinesis-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awskinesissink/CamelAwskinesissinkSinkTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.awskinesissink;
+ */package org.apache.camel.kafkaconnector.awskinesissink;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-aws-kinesis-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awskinesissource/CamelAwskinesissourceSourceConnector.java b/connectors/camel-aws-kinesis-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awskinesissource/CamelAwskinesissourceSourceConnector.java
index 74dcd74..34a2c6a 100644
--- a/connectors/camel-aws-kinesis-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awskinesissource/CamelAwskinesissourceSourceConnector.java
+++ b/connectors/camel-aws-kinesis-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awskinesissource/CamelAwskinesissourceSourceConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.awskinesissource;
+ */package org.apache.camel.kafkaconnector.awskinesissource;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSourceConnector;
diff --git a/connectors/camel-aws-kinesis-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awskinesissource/CamelAwskinesissourceSourceConnectorConfig.java b/connectors/camel-aws-kinesis-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awskinesissource/CamelAwskinesissourceSourceConnectorConfig.java
index 8736957..59be99c 100644
--- a/connectors/camel-aws-kinesis-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awskinesissource/CamelAwskinesissourceSourceConnectorConfig.java
+++ b/connectors/camel-aws-kinesis-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awskinesissource/CamelAwskinesissourceSourceConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.awskinesissource;
+ */package org.apache.camel.kafkaconnector.awskinesissource;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-aws-kinesis-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awskinesissource/CamelAwskinesissourceSourceTask.java b/connectors/camel-aws-kinesis-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awskinesissource/CamelAwskinesissourceSourceTask.java
index f36c432..56ff5a1 100644
--- a/connectors/camel-aws-kinesis-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awskinesissource/CamelAwskinesissourceSourceTask.java
+++ b/connectors/camel-aws-kinesis-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awskinesissource/CamelAwskinesissourceSourceTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.awskinesissource;
+ */package org.apache.camel.kafkaconnector.awskinesissource;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-aws-lambda-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awslambdasink/CamelAwslambdasinkSinkConnector.java b/connectors/camel-aws-lambda-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awslambdasink/CamelAwslambdasinkSinkConnector.java
index cac4854..ebd5695 100644
--- a/connectors/camel-aws-lambda-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awslambdasink/CamelAwslambdasinkSinkConnector.java
+++ b/connectors/camel-aws-lambda-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awslambdasink/CamelAwslambdasinkSinkConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.awslambdasink;
+ */package org.apache.camel.kafkaconnector.awslambdasink;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSinkConnector;
diff --git a/connectors/camel-aws-lambda-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awslambdasink/CamelAwslambdasinkSinkConnectorConfig.java b/connectors/camel-aws-lambda-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awslambdasink/CamelAwslambdasinkSinkConnectorConfig.java
index e987ec8..d149565 100644
--- a/connectors/camel-aws-lambda-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awslambdasink/CamelAwslambdasinkSinkConnectorConfig.java
+++ b/connectors/camel-aws-lambda-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awslambdasink/CamelAwslambdasinkSinkConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.awslambdasink;
+ */package org.apache.camel.kafkaconnector.awslambdasink;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-aws-lambda-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awslambdasink/CamelAwslambdasinkSinkTask.java b/connectors/camel-aws-lambda-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awslambdasink/CamelAwslambdasinkSinkTask.java
index 1782a1a..9a05167 100644
--- a/connectors/camel-aws-lambda-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awslambdasink/CamelAwslambdasinkSinkTask.java
+++ b/connectors/camel-aws-lambda-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awslambdasink/CamelAwslambdasinkSinkTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.awslambdasink;
+ */package org.apache.camel.kafkaconnector.awslambdasink;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-aws-redshift-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awsredshiftsink/CamelAwsredshiftsinkSinkConnector.java b/connectors/camel-aws-redshift-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awsredshiftsink/CamelAwsredshiftsinkSinkConnector.java
index eda70a9..f903945 100644
--- a/connectors/camel-aws-redshift-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awsredshiftsink/CamelAwsredshiftsinkSinkConnector.java
+++ b/connectors/camel-aws-redshift-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awsredshiftsink/CamelAwsredshiftsinkSinkConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.awsredshiftsink;
+ */package org.apache.camel.kafkaconnector.awsredshiftsink;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSinkConnector;
diff --git a/connectors/camel-aws-redshift-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awsredshiftsink/CamelAwsredshiftsinkSinkConnectorConfig.java b/connectors/camel-aws-redshift-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awsredshiftsink/CamelAwsredshiftsinkSinkConnectorConfig.java
index e9ca75e..db65201 100644
--- a/connectors/camel-aws-redshift-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awsredshiftsink/CamelAwsredshiftsinkSinkConnectorConfig.java
+++ b/connectors/camel-aws-redshift-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awsredshiftsink/CamelAwsredshiftsinkSinkConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.awsredshiftsink;
+ */package org.apache.camel.kafkaconnector.awsredshiftsink;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-aws-redshift-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awsredshiftsink/CamelAwsredshiftsinkSinkTask.java b/connectors/camel-aws-redshift-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awsredshiftsink/CamelAwsredshiftsinkSinkTask.java
index 33b6c9e..7a7f944 100644
--- a/connectors/camel-aws-redshift-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awsredshiftsink/CamelAwsredshiftsinkSinkTask.java
+++ b/connectors/camel-aws-redshift-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awsredshiftsink/CamelAwsredshiftsinkSinkTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.awsredshiftsink;
+ */package org.apache.camel.kafkaconnector.awsredshiftsink;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-aws-redshift-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awsredshiftsource/CamelAwsredshiftsourceSourceConnector.java b/connectors/camel-aws-redshift-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awsredshiftsource/CamelAwsredshiftsourceSourceConnector.java
index 64f50c5..67b2bb9 100644
--- a/connectors/camel-aws-redshift-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awsredshiftsource/CamelAwsredshiftsourceSourceConnector.java
+++ b/connectors/camel-aws-redshift-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awsredshiftsource/CamelAwsredshiftsourceSourceConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.awsredshiftsource;
+ */package org.apache.camel.kafkaconnector.awsredshiftsource;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSourceConnector;
diff --git a/connectors/camel-aws-redshift-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awsredshiftsource/CamelAwsredshiftsourceSourceConnectorConfig.java b/connectors/camel-aws-redshift-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awsredshiftsource/CamelAwsredshiftsourceSourceConnectorConfig.java
index 87d1c47..cb15bbb 100644
--- a/connectors/camel-aws-redshift-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awsredshiftsource/CamelAwsredshiftsourceSourceConnectorConfig.java
+++ b/connectors/camel-aws-redshift-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awsredshiftsource/CamelAwsredshiftsourceSourceConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.awsredshiftsource;
+ */package org.apache.camel.kafkaconnector.awsredshiftsource;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-aws-redshift-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awsredshiftsource/CamelAwsredshiftsourceSourceTask.java b/connectors/camel-aws-redshift-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awsredshiftsource/CamelAwsredshiftsourceSourceTask.java
index 2d6f30a..9160ab4 100644
--- a/connectors/camel-aws-redshift-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awsredshiftsource/CamelAwsredshiftsourceSourceTask.java
+++ b/connectors/camel-aws-redshift-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awsredshiftsource/CamelAwsredshiftsourceSourceTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.awsredshiftsource;
+ */package org.apache.camel.kafkaconnector.awsredshiftsource;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-aws-s3-cdc-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awss3cdcsource/CamelAwss3cdcsourceSourceConnector.java b/connectors/camel-aws-s3-cdc-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awss3cdcsource/CamelAwss3cdcsourceSourceConnector.java
index 123614e..15f723d 100644
--- a/connectors/camel-aws-s3-cdc-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awss3cdcsource/CamelAwss3cdcsourceSourceConnector.java
+++ b/connectors/camel-aws-s3-cdc-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awss3cdcsource/CamelAwss3cdcsourceSourceConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.awss3cdcsource;
+ */package org.apache.camel.kafkaconnector.awss3cdcsource;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSourceConnector;
diff --git a/connectors/camel-aws-s3-cdc-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awss3cdcsource/CamelAwss3cdcsourceSourceConnectorConfig.java b/connectors/camel-aws-s3-cdc-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awss3cdcsource/CamelAwss3cdcsourceSourceConnectorConfig.java
index 94621cd..4f17e14 100644
--- a/connectors/camel-aws-s3-cdc-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awss3cdcsource/CamelAwss3cdcsourceSourceConnectorConfig.java
+++ b/connectors/camel-aws-s3-cdc-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awss3cdcsource/CamelAwss3cdcsourceSourceConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.awss3cdcsource;
+ */package org.apache.camel.kafkaconnector.awss3cdcsource;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-aws-s3-cdc-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awss3cdcsource/CamelAwss3cdcsourceSourceTask.java b/connectors/camel-aws-s3-cdc-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awss3cdcsource/CamelAwss3cdcsourceSourceTask.java
index 8335631..d87deea 100644
--- a/connectors/camel-aws-s3-cdc-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awss3cdcsource/CamelAwss3cdcsourceSourceTask.java
+++ b/connectors/camel-aws-s3-cdc-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awss3cdcsource/CamelAwss3cdcsourceSourceTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.awss3cdcsource;
+ */package org.apache.camel.kafkaconnector.awss3cdcsource;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-aws-s3-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awss3sink/CamelAwss3sinkSinkConnector.java b/connectors/camel-aws-s3-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awss3sink/CamelAwss3sinkSinkConnector.java
index c96573a..0cb66ab 100644
--- a/connectors/camel-aws-s3-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awss3sink/CamelAwss3sinkSinkConnector.java
+++ b/connectors/camel-aws-s3-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awss3sink/CamelAwss3sinkSinkConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.awss3sink;
+ */package org.apache.camel.kafkaconnector.awss3sink;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSinkConnector;
diff --git a/connectors/camel-aws-s3-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awss3sink/CamelAwss3sinkSinkConnectorConfig.java b/connectors/camel-aws-s3-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awss3sink/CamelAwss3sinkSinkConnectorConfig.java
index a77767c..5f37e40 100644
--- a/connectors/camel-aws-s3-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awss3sink/CamelAwss3sinkSinkConnectorConfig.java
+++ b/connectors/camel-aws-s3-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awss3sink/CamelAwss3sinkSinkConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.awss3sink;
+ */package org.apache.camel.kafkaconnector.awss3sink;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-aws-s3-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awss3sink/CamelAwss3sinkSinkTask.java b/connectors/camel-aws-s3-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awss3sink/CamelAwss3sinkSinkTask.java
index bcd7640..0d89108 100644
--- a/connectors/camel-aws-s3-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awss3sink/CamelAwss3sinkSinkTask.java
+++ b/connectors/camel-aws-s3-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awss3sink/CamelAwss3sinkSinkTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.awss3sink;
+ */package org.apache.camel.kafkaconnector.awss3sink;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-aws-s3-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awss3source/CamelAwss3sourceSourceConnector.java b/connectors/camel-aws-s3-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awss3source/CamelAwss3sourceSourceConnector.java
index 4b78ea5..60657cb 100644
--- a/connectors/camel-aws-s3-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awss3source/CamelAwss3sourceSourceConnector.java
+++ b/connectors/camel-aws-s3-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awss3source/CamelAwss3sourceSourceConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.awss3source;
+ */package org.apache.camel.kafkaconnector.awss3source;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSourceConnector;
diff --git a/connectors/camel-aws-s3-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awss3source/CamelAwss3sourceSourceConnectorConfig.java b/connectors/camel-aws-s3-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awss3source/CamelAwss3sourceSourceConnectorConfig.java
index 14765ea..79073e7 100644
--- a/connectors/camel-aws-s3-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awss3source/CamelAwss3sourceSourceConnectorConfig.java
+++ b/connectors/camel-aws-s3-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awss3source/CamelAwss3sourceSourceConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.awss3source;
+ */package org.apache.camel.kafkaconnector.awss3source;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-aws-s3-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awss3source/CamelAwss3sourceSourceTask.java b/connectors/camel-aws-s3-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awss3source/CamelAwss3sourceSourceTask.java
index 73fa68f..c29ef54 100644
--- a/connectors/camel-aws-s3-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awss3source/CamelAwss3sourceSourceTask.java
+++ b/connectors/camel-aws-s3-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awss3source/CamelAwss3sourceSourceTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.awss3source;
+ */package org.apache.camel.kafkaconnector.awss3source;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-aws-s3-streaming-upload-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awss3streaminguploadsink/CamelAwss3streaminguploadsinkSinkConnector.java b/connectors/camel-aws-s3-streaming-upload-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awss3streaminguploadsink/CamelAwss3streaminguploadsinkSinkConnector.java
index 257a45f..6d562b2 100644
--- a/connectors/camel-aws-s3-streaming-upload-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awss3streaminguploadsink/CamelAwss3streaminguploadsinkSinkConnector.java
+++ b/connectors/camel-aws-s3-streaming-upload-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awss3streaminguploadsink/CamelAwss3streaminguploadsinkSinkConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.awss3streaminguploadsink;
+ */package org.apache.camel.kafkaconnector.awss3streaminguploadsink;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSinkConnector;
diff --git a/connectors/camel-aws-s3-streaming-upload-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awss3streaminguploadsink/CamelAwss3streaminguploadsinkSinkConnectorConfig.java b/connectors/camel-aws-s3-streaming-upload-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awss3streaminguploadsink/CamelAwss3streaminguploadsinkSinkConnectorConfig.java
index 8c851a0..992de70 100644
--- a/connectors/camel-aws-s3-streaming-upload-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awss3streaminguploadsink/CamelAwss3streaminguploadsinkSinkConnectorConfig.java
+++ b/connectors/camel-aws-s3-streaming-upload-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awss3streaminguploadsink/CamelAwss3streaminguploadsinkSinkConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.awss3streaminguploadsink;
+ */package org.apache.camel.kafkaconnector.awss3streaminguploadsink;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-aws-s3-streaming-upload-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awss3streaminguploadsink/CamelAwss3streaminguploadsinkSinkTask.java b/connectors/camel-aws-s3-streaming-upload-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awss3streaminguploadsink/CamelAwss3streaminguploadsinkSinkTask.java
index a9268ad..9df0d59 100644
--- a/connectors/camel-aws-s3-streaming-upload-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awss3streaminguploadsink/CamelAwss3streaminguploadsinkSinkTask.java
+++ b/connectors/camel-aws-s3-streaming-upload-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awss3streaminguploadsink/CamelAwss3streaminguploadsinkSinkTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.awss3streaminguploadsink;
+ */package org.apache.camel.kafkaconnector.awss3streaminguploadsink;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-aws-secrets-manager-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awssecretsmanagersink/CamelAwssecretsmanagersinkSinkConnector.java b/connectors/camel-aws-secrets-manager-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awssecretsmanagersink/CamelAwssecretsmanagersinkSinkConnector.java
index 9938318..32ef549 100644
--- a/connectors/camel-aws-secrets-manager-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awssecretsmanagersink/CamelAwssecretsmanagersinkSinkConnector.java
+++ b/connectors/camel-aws-secrets-manager-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awssecretsmanagersink/CamelAwssecretsmanagersinkSinkConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.awssecretsmanagersink;
+ */package org.apache.camel.kafkaconnector.awssecretsmanagersink;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSinkConnector;
diff --git a/connectors/camel-aws-secrets-manager-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awssecretsmanagersink/CamelAwssecretsmanagersinkSinkConnectorConfig.java b/connectors/camel-aws-secrets-manager-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awssecretsmanagersink/CamelAwssecretsmanagersinkSinkConnectorConfig.java
index d19c943..55b029b 100644
--- a/connectors/camel-aws-secrets-manager-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awssecretsmanagersink/CamelAwssecretsmanagersinkSinkConnectorConfig.java
+++ b/connectors/camel-aws-secrets-manager-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awssecretsmanagersink/CamelAwssecretsmanagersinkSinkConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.awssecretsmanagersink;
+ */package org.apache.camel.kafkaconnector.awssecretsmanagersink;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-aws-secrets-manager-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awssecretsmanagersink/CamelAwssecretsmanagersinkSinkTask.java b/connectors/camel-aws-secrets-manager-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awssecretsmanagersink/CamelAwssecretsmanagersinkSinkTask.java
index 7a8ff1f..c9954c1 100644
--- a/connectors/camel-aws-secrets-manager-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awssecretsmanagersink/CamelAwssecretsmanagersinkSinkTask.java
+++ b/connectors/camel-aws-secrets-manager-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awssecretsmanagersink/CamelAwssecretsmanagersinkSinkTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.awssecretsmanagersink;
+ */package org.apache.camel.kafkaconnector.awssecretsmanagersink;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-aws-ses-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awssessink/CamelAwssessinkSinkConnector.java b/connectors/camel-aws-ses-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awssessink/CamelAwssessinkSinkConnector.java
index 13e29e7..69ea9bf 100644
--- a/connectors/camel-aws-ses-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awssessink/CamelAwssessinkSinkConnector.java
+++ b/connectors/camel-aws-ses-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awssessink/CamelAwssessinkSinkConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.awssessink;
+ */package org.apache.camel.kafkaconnector.awssessink;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSinkConnector;
diff --git a/connectors/camel-aws-ses-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awssessink/CamelAwssessinkSinkConnectorConfig.java b/connectors/camel-aws-ses-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awssessink/CamelAwssessinkSinkConnectorConfig.java
index 73b1a1a..bedabdc 100644
--- a/connectors/camel-aws-ses-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awssessink/CamelAwssessinkSinkConnectorConfig.java
+++ b/connectors/camel-aws-ses-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awssessink/CamelAwssessinkSinkConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.awssessink;
+ */package org.apache.camel.kafkaconnector.awssessink;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-aws-ses-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awssessink/CamelAwssessinkSinkTask.java b/connectors/camel-aws-ses-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awssessink/CamelAwssessinkSinkTask.java
index 184ca25..924f43b 100644
--- a/connectors/camel-aws-ses-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awssessink/CamelAwssessinkSinkTask.java
+++ b/connectors/camel-aws-ses-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awssessink/CamelAwssessinkSinkTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.awssessink;
+ */package org.apache.camel.kafkaconnector.awssessink;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-aws-sns-fifo-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awssnsfifosink/CamelAwssnsfifosinkSinkConnector.java b/connectors/camel-aws-sns-fifo-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awssnsfifosink/CamelAwssnsfifosinkSinkConnector.java
index 102d61e..f91aef6 100644
--- a/connectors/camel-aws-sns-fifo-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awssnsfifosink/CamelAwssnsfifosinkSinkConnector.java
+++ b/connectors/camel-aws-sns-fifo-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awssnsfifosink/CamelAwssnsfifosinkSinkConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.awssnsfifosink;
+ */package org.apache.camel.kafkaconnector.awssnsfifosink;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSinkConnector;
diff --git a/connectors/camel-aws-sns-fifo-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awssnsfifosink/CamelAwssnsfifosinkSinkConnectorConfig.java b/connectors/camel-aws-sns-fifo-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awssnsfifosink/CamelAwssnsfifosinkSinkConnectorConfig.java
index b91a12a..b1110ef 100644
--- a/connectors/camel-aws-sns-fifo-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awssnsfifosink/CamelAwssnsfifosinkSinkConnectorConfig.java
+++ b/connectors/camel-aws-sns-fifo-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awssnsfifosink/CamelAwssnsfifosinkSinkConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.awssnsfifosink;
+ */package org.apache.camel.kafkaconnector.awssnsfifosink;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-aws-sns-fifo-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awssnsfifosink/CamelAwssnsfifosinkSinkTask.java b/connectors/camel-aws-sns-fifo-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awssnsfifosink/CamelAwssnsfifosinkSinkTask.java
index 2917239..b680ba5 100644
--- a/connectors/camel-aws-sns-fifo-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awssnsfifosink/CamelAwssnsfifosinkSinkTask.java
+++ b/connectors/camel-aws-sns-fifo-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awssnsfifosink/CamelAwssnsfifosinkSinkTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.awssnsfifosink;
+ */package org.apache.camel.kafkaconnector.awssnsfifosink;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-aws-sns-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awssnssink/CamelAwssnssinkSinkConnector.java b/connectors/camel-aws-sns-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awssnssink/CamelAwssnssinkSinkConnector.java
index b488b28..bd911ed 100644
--- a/connectors/camel-aws-sns-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awssnssink/CamelAwssnssinkSinkConnector.java
+++ b/connectors/camel-aws-sns-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awssnssink/CamelAwssnssinkSinkConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.awssnssink;
+ */package org.apache.camel.kafkaconnector.awssnssink;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSinkConnector;
diff --git a/connectors/camel-aws-sns-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awssnssink/CamelAwssnssinkSinkConnectorConfig.java b/connectors/camel-aws-sns-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awssnssink/CamelAwssnssinkSinkConnectorConfig.java
index 2b8e999..5a82f1d 100644
--- a/connectors/camel-aws-sns-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awssnssink/CamelAwssnssinkSinkConnectorConfig.java
+++ b/connectors/camel-aws-sns-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awssnssink/CamelAwssnssinkSinkConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.awssnssink;
+ */package org.apache.camel.kafkaconnector.awssnssink;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-aws-sns-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awssnssink/CamelAwssnssinkSinkTask.java b/connectors/camel-aws-sns-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awssnssink/CamelAwssnssinkSinkTask.java
index 26348f3..58c80f6 100644
--- a/connectors/camel-aws-sns-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awssnssink/CamelAwssnssinkSinkTask.java
+++ b/connectors/camel-aws-sns-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awssnssink/CamelAwssnssinkSinkTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.awssnssink;
+ */package org.apache.camel.kafkaconnector.awssnssink;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-aws-sqs-batch-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awssqsbatchsink/CamelAwssqsbatchsinkSinkConnector.java b/connectors/camel-aws-sqs-batch-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awssqsbatchsink/CamelAwssqsbatchsinkSinkConnector.java
index 6b828ab..740c84c 100644
--- a/connectors/camel-aws-sqs-batch-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awssqsbatchsink/CamelAwssqsbatchsinkSinkConnector.java
+++ b/connectors/camel-aws-sqs-batch-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awssqsbatchsink/CamelAwssqsbatchsinkSinkConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.awssqsbatchsink;
+ */package org.apache.camel.kafkaconnector.awssqsbatchsink;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSinkConnector;
diff --git a/connectors/camel-aws-sqs-batch-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awssqsbatchsink/CamelAwssqsbatchsinkSinkConnectorConfig.java b/connectors/camel-aws-sqs-batch-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awssqsbatchsink/CamelAwssqsbatchsinkSinkConnectorConfig.java
index 76ab38f..aaccfdd 100644
--- a/connectors/camel-aws-sqs-batch-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awssqsbatchsink/CamelAwssqsbatchsinkSinkConnectorConfig.java
+++ b/connectors/camel-aws-sqs-batch-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awssqsbatchsink/CamelAwssqsbatchsinkSinkConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.awssqsbatchsink;
+ */package org.apache.camel.kafkaconnector.awssqsbatchsink;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-aws-sqs-batch-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awssqsbatchsink/CamelAwssqsbatchsinkSinkTask.java b/connectors/camel-aws-sqs-batch-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awssqsbatchsink/CamelAwssqsbatchsinkSinkTask.java
index 23b15d9..cea7273 100644
--- a/connectors/camel-aws-sqs-batch-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awssqsbatchsink/CamelAwssqsbatchsinkSinkTask.java
+++ b/connectors/camel-aws-sqs-batch-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awssqsbatchsink/CamelAwssqsbatchsinkSinkTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.awssqsbatchsink;
+ */package org.apache.camel.kafkaconnector.awssqsbatchsink;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-aws-sqs-fifo-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awssqsfifosink/CamelAwssqsfifosinkSinkConnector.java b/connectors/camel-aws-sqs-fifo-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awssqsfifosink/CamelAwssqsfifosinkSinkConnector.java
index dd81a00..ec5c8ff 100644
--- a/connectors/camel-aws-sqs-fifo-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awssqsfifosink/CamelAwssqsfifosinkSinkConnector.java
+++ b/connectors/camel-aws-sqs-fifo-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awssqsfifosink/CamelAwssqsfifosinkSinkConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.awssqsfifosink;
+ */package org.apache.camel.kafkaconnector.awssqsfifosink;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSinkConnector;
diff --git a/connectors/camel-aws-sqs-fifo-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awssqsfifosink/CamelAwssqsfifosinkSinkConnectorConfig.java b/connectors/camel-aws-sqs-fifo-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awssqsfifosink/CamelAwssqsfifosinkSinkConnectorConfig.java
index db2f948..345219b 100644
--- a/connectors/camel-aws-sqs-fifo-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awssqsfifosink/CamelAwssqsfifosinkSinkConnectorConfig.java
+++ b/connectors/camel-aws-sqs-fifo-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awssqsfifosink/CamelAwssqsfifosinkSinkConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.awssqsfifosink;
+ */package org.apache.camel.kafkaconnector.awssqsfifosink;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-aws-sqs-fifo-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awssqsfifosink/CamelAwssqsfifosinkSinkTask.java b/connectors/camel-aws-sqs-fifo-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awssqsfifosink/CamelAwssqsfifosinkSinkTask.java
index 8182fc2..42f4567 100644
--- a/connectors/camel-aws-sqs-fifo-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awssqsfifosink/CamelAwssqsfifosinkSinkTask.java
+++ b/connectors/camel-aws-sqs-fifo-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awssqsfifosink/CamelAwssqsfifosinkSinkTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.awssqsfifosink;
+ */package org.apache.camel.kafkaconnector.awssqsfifosink;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-aws-sqs-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awssqssink/CamelAwssqssinkSinkConnector.java b/connectors/camel-aws-sqs-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awssqssink/CamelAwssqssinkSinkConnector.java
index 4b1f6ac..53dfb0d 100644
--- a/connectors/camel-aws-sqs-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awssqssink/CamelAwssqssinkSinkConnector.java
+++ b/connectors/camel-aws-sqs-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awssqssink/CamelAwssqssinkSinkConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.awssqssink;
+ */package org.apache.camel.kafkaconnector.awssqssink;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSinkConnector;
diff --git a/connectors/camel-aws-sqs-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awssqssink/CamelAwssqssinkSinkConnectorConfig.java b/connectors/camel-aws-sqs-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awssqssink/CamelAwssqssinkSinkConnectorConfig.java
index 1705233..e279a29 100644
--- a/connectors/camel-aws-sqs-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awssqssink/CamelAwssqssinkSinkConnectorConfig.java
+++ b/connectors/camel-aws-sqs-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awssqssink/CamelAwssqssinkSinkConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.awssqssink;
+ */package org.apache.camel.kafkaconnector.awssqssink;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-aws-sqs-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awssqssink/CamelAwssqssinkSinkTask.java b/connectors/camel-aws-sqs-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awssqssink/CamelAwssqssinkSinkTask.java
index e7cde15..97b6027 100644
--- a/connectors/camel-aws-sqs-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awssqssink/CamelAwssqssinkSinkTask.java
+++ b/connectors/camel-aws-sqs-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awssqssink/CamelAwssqssinkSinkTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.awssqssink;
+ */package org.apache.camel.kafkaconnector.awssqssink;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-aws-sqs-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awssqssource/CamelAwssqssourceSourceConnector.java b/connectors/camel-aws-sqs-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awssqssource/CamelAwssqssourceSourceConnector.java
index 0810ebd..df8690a 100644
--- a/connectors/camel-aws-sqs-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awssqssource/CamelAwssqssourceSourceConnector.java
+++ b/connectors/camel-aws-sqs-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awssqssource/CamelAwssqssourceSourceConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.awssqssource;
+ */package org.apache.camel.kafkaconnector.awssqssource;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSourceConnector;
diff --git a/connectors/camel-aws-sqs-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awssqssource/CamelAwssqssourceSourceConnectorConfig.java b/connectors/camel-aws-sqs-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awssqssource/CamelAwssqssourceSourceConnectorConfig.java
index f851c8c..ff1b52d 100644
--- a/connectors/camel-aws-sqs-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awssqssource/CamelAwssqssourceSourceConnectorConfig.java
+++ b/connectors/camel-aws-sqs-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awssqssource/CamelAwssqssourceSourceConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.awssqssource;
+ */package org.apache.camel.kafkaconnector.awssqssource;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-aws-sqs-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awssqssource/CamelAwssqssourceSourceTask.java b/connectors/camel-aws-sqs-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awssqssource/CamelAwssqssourceSourceTask.java
index a2baba8..b14e217 100644
--- a/connectors/camel-aws-sqs-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awssqssource/CamelAwssqssourceSourceTask.java
+++ b/connectors/camel-aws-sqs-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awssqssource/CamelAwssqssourceSourceTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.awssqssource;
+ */package org.apache.camel.kafkaconnector.awssqssource;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-aws2-iam-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/aws2iam/CamelAws2iamSinkConnector.java b/connectors/camel-aws2-iam-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/aws2iam/CamelAws2iamSinkConnector.java
index 21d0e73..0b3e10d 100644
--- a/connectors/camel-aws2-iam-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/aws2iam/CamelAws2iamSinkConnector.java
+++ b/connectors/camel-aws2-iam-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/aws2iam/CamelAws2iamSinkConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.aws2iam;
+ */package org.apache.camel.kafkaconnector.aws2iam;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSinkConnector;
diff --git a/connectors/camel-aws2-iam-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/aws2iam/CamelAws2iamSinkConnectorConfig.java b/connectors/camel-aws2-iam-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/aws2iam/CamelAws2iamSinkConnectorConfig.java
index 8a28c1a..574b7db 100644
--- a/connectors/camel-aws2-iam-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/aws2iam/CamelAws2iamSinkConnectorConfig.java
+++ b/connectors/camel-aws2-iam-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/aws2iam/CamelAws2iamSinkConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.aws2iam;
+ */package org.apache.camel.kafkaconnector.aws2iam;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-aws2-iam-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/aws2iam/CamelAws2iamSinkTask.java b/connectors/camel-aws2-iam-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/aws2iam/CamelAws2iamSinkTask.java
index 017e97b..7d9909e 100644
--- a/connectors/camel-aws2-iam-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/aws2iam/CamelAws2iamSinkTask.java
+++ b/connectors/camel-aws2-iam-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/aws2iam/CamelAws2iamSinkTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.aws2iam;
+ */package org.apache.camel.kafkaconnector.aws2iam;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-aws2-kms-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/aws2kms/CamelAws2kmsSinkConnector.java b/connectors/camel-aws2-kms-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/aws2kms/CamelAws2kmsSinkConnector.java
index 807457b..ee0a995 100644
--- a/connectors/camel-aws2-kms-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/aws2kms/CamelAws2kmsSinkConnector.java
+++ b/connectors/camel-aws2-kms-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/aws2kms/CamelAws2kmsSinkConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.aws2kms;
+ */package org.apache.camel.kafkaconnector.aws2kms;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSinkConnector;
diff --git a/connectors/camel-aws2-kms-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/aws2kms/CamelAws2kmsSinkConnectorConfig.java b/connectors/camel-aws2-kms-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/aws2kms/CamelAws2kmsSinkConnectorConfig.java
index 1abd32a..b5b3d26 100644
--- a/connectors/camel-aws2-kms-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/aws2kms/CamelAws2kmsSinkConnectorConfig.java
+++ b/connectors/camel-aws2-kms-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/aws2kms/CamelAws2kmsSinkConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.aws2kms;
+ */package org.apache.camel.kafkaconnector.aws2kms;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-aws2-kms-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/aws2kms/CamelAws2kmsSinkTask.java b/connectors/camel-aws2-kms-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/aws2kms/CamelAws2kmsSinkTask.java
index be440e1..a7ce4b9 100644
--- a/connectors/camel-aws2-kms-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/aws2kms/CamelAws2kmsSinkTask.java
+++ b/connectors/camel-aws2-kms-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/aws2kms/CamelAws2kmsSinkTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.aws2kms;
+ */package org.apache.camel.kafkaconnector.aws2kms;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-azure-cosmosdb-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurecosmosdbsink/CamelAzurecosmosdbsinkSinkConnector.java b/connectors/camel-azure-cosmosdb-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurecosmosdbsink/CamelAzurecosmosdbsinkSinkConnector.java
index 2354021..cb5caca 100644
--- a/connectors/camel-azure-cosmosdb-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurecosmosdbsink/CamelAzurecosmosdbsinkSinkConnector.java
+++ b/connectors/camel-azure-cosmosdb-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurecosmosdbsink/CamelAzurecosmosdbsinkSinkConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.azurecosmosdbsink;
+ */package org.apache.camel.kafkaconnector.azurecosmosdbsink;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSinkConnector;
diff --git a/connectors/camel-azure-cosmosdb-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurecosmosdbsink/CamelAzurecosmosdbsinkSinkConnectorConfig.java b/connectors/camel-azure-cosmosdb-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurecosmosdbsink/CamelAzurecosmosdbsinkSinkConnectorConfig.java
index e6247b7..4cd1fea 100644
--- a/connectors/camel-azure-cosmosdb-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurecosmosdbsink/CamelAzurecosmosdbsinkSinkConnectorConfig.java
+++ b/connectors/camel-azure-cosmosdb-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurecosmosdbsink/CamelAzurecosmosdbsinkSinkConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.azurecosmosdbsink;
+ */package org.apache.camel.kafkaconnector.azurecosmosdbsink;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-azure-cosmosdb-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurecosmosdbsink/CamelAzurecosmosdbsinkSinkTask.java b/connectors/camel-azure-cosmosdb-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurecosmosdbsink/CamelAzurecosmosdbsinkSinkTask.java
index cd530f3..3001cef 100644
--- a/connectors/camel-azure-cosmosdb-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurecosmosdbsink/CamelAzurecosmosdbsinkSinkTask.java
+++ b/connectors/camel-azure-cosmosdb-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurecosmosdbsink/CamelAzurecosmosdbsinkSinkTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.azurecosmosdbsink;
+ */package org.apache.camel.kafkaconnector.azurecosmosdbsink;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-azure-cosmosdb-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurecosmosdbsource/CamelAzurecosmosdbsourceSourceConnector.java b/connectors/camel-azure-cosmosdb-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurecosmosdbsource/CamelAzurecosmosdbsourceSourceConnector.java
index 257cdcf..f81ed03 100644
--- a/connectors/camel-azure-cosmosdb-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurecosmosdbsource/CamelAzurecosmosdbsourceSourceConnector.java
+++ b/connectors/camel-azure-cosmosdb-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurecosmosdbsource/CamelAzurecosmosdbsourceSourceConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.azurecosmosdbsource;
+ */package org.apache.camel.kafkaconnector.azurecosmosdbsource;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSourceConnector;
diff --git a/connectors/camel-azure-cosmosdb-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurecosmosdbsource/CamelAzurecosmosdbsourceSourceConnectorConfig.java b/connectors/camel-azure-cosmosdb-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurecosmosdbsource/CamelAzurecosmosdbsourceSourceConnectorConfig.java
index 4570574..e8c80c9 100644
--- a/connectors/camel-azure-cosmosdb-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurecosmosdbsource/CamelAzurecosmosdbsourceSourceConnectorConfig.java
+++ b/connectors/camel-azure-cosmosdb-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurecosmosdbsource/CamelAzurecosmosdbsourceSourceConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.azurecosmosdbsource;
+ */package org.apache.camel.kafkaconnector.azurecosmosdbsource;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-azure-cosmosdb-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurecosmosdbsource/CamelAzurecosmosdbsourceSourceTask.java b/connectors/camel-azure-cosmosdb-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurecosmosdbsource/CamelAzurecosmosdbsourceSourceTask.java
index 2b25627..953ca90 100644
--- a/connectors/camel-azure-cosmosdb-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurecosmosdbsource/CamelAzurecosmosdbsourceSourceTask.java
+++ b/connectors/camel-azure-cosmosdb-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurecosmosdbsource/CamelAzurecosmosdbsourceSourceTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.azurecosmosdbsource;
+ */package org.apache.camel.kafkaconnector.azurecosmosdbsource;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-azure-eventhubs-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azureeventhubssink/CamelAzureeventhubssinkSinkConnector.java b/connectors/camel-azure-eventhubs-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azureeventhubssink/CamelAzureeventhubssinkSinkConnector.java
index 0a907b1..75a11a0 100644
--- a/connectors/camel-azure-eventhubs-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azureeventhubssink/CamelAzureeventhubssinkSinkConnector.java
+++ b/connectors/camel-azure-eventhubs-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azureeventhubssink/CamelAzureeventhubssinkSinkConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.azureeventhubssink;
+ */package org.apache.camel.kafkaconnector.azureeventhubssink;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSinkConnector;
diff --git a/connectors/camel-azure-eventhubs-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azureeventhubssink/CamelAzureeventhubssinkSinkConnectorConfig.java b/connectors/camel-azure-eventhubs-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azureeventhubssink/CamelAzureeventhubssinkSinkConnectorConfig.java
index 884f429..4d1af6c 100644
--- a/connectors/camel-azure-eventhubs-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azureeventhubssink/CamelAzureeventhubssinkSinkConnectorConfig.java
+++ b/connectors/camel-azure-eventhubs-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azureeventhubssink/CamelAzureeventhubssinkSinkConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.azureeventhubssink;
+ */package org.apache.camel.kafkaconnector.azureeventhubssink;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-azure-eventhubs-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azureeventhubssink/CamelAzureeventhubssinkSinkTask.java b/connectors/camel-azure-eventhubs-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azureeventhubssink/CamelAzureeventhubssinkSinkTask.java
index 9b167db..d3400de 100644
--- a/connectors/camel-azure-eventhubs-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azureeventhubssink/CamelAzureeventhubssinkSinkTask.java
+++ b/connectors/camel-azure-eventhubs-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azureeventhubssink/CamelAzureeventhubssinkSinkTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.azureeventhubssink;
+ */package org.apache.camel.kafkaconnector.azureeventhubssink;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-azure-eventhubs-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azureeventhubssource/CamelAzureeventhubssourceSourceConnector.java b/connectors/camel-azure-eventhubs-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azureeventhubssource/CamelAzureeventhubssourceSourceConnector.java
index 2abc643..9994ccc 100644
--- a/connectors/camel-azure-eventhubs-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azureeventhubssource/CamelAzureeventhubssourceSourceConnector.java
+++ b/connectors/camel-azure-eventhubs-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azureeventhubssource/CamelAzureeventhubssourceSourceConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.azureeventhubssource;
+ */package org.apache.camel.kafkaconnector.azureeventhubssource;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSourceConnector;
diff --git a/connectors/camel-azure-eventhubs-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azureeventhubssource/CamelAzureeventhubssourceSourceConnectorConfig.java b/connectors/camel-azure-eventhubs-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azureeventhubssource/CamelAzureeventhubssourceSourceConnectorConfig.java
index a2d64a5..a66e03f 100644
--- a/connectors/camel-azure-eventhubs-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azureeventhubssource/CamelAzureeventhubssourceSourceConnectorConfig.java
+++ b/connectors/camel-azure-eventhubs-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azureeventhubssource/CamelAzureeventhubssourceSourceConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.azureeventhubssource;
+ */package org.apache.camel.kafkaconnector.azureeventhubssource;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-azure-eventhubs-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azureeventhubssource/CamelAzureeventhubssourceSourceTask.java b/connectors/camel-azure-eventhubs-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azureeventhubssource/CamelAzureeventhubssourceSourceTask.java
index efa2f5c..eef9cd8 100644
--- a/connectors/camel-azure-eventhubs-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azureeventhubssource/CamelAzureeventhubssourceSourceTask.java
+++ b/connectors/camel-azure-eventhubs-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azureeventhubssource/CamelAzureeventhubssourceSourceTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.azureeventhubssource;
+ */package org.apache.camel.kafkaconnector.azureeventhubssource;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-azure-functions-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurefunctionssink/CamelAzurefunctionssinkSinkConnector.java b/connectors/camel-azure-functions-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurefunctionssink/CamelAzurefunctionssinkSinkConnector.java
index ec1e73b..8b92773 100644
--- a/connectors/camel-azure-functions-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurefunctionssink/CamelAzurefunctionssinkSinkConnector.java
+++ b/connectors/camel-azure-functions-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurefunctionssink/CamelAzurefunctionssinkSinkConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.azurefunctionssink;
+ */package org.apache.camel.kafkaconnector.azurefunctionssink;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSinkConnector;
diff --git a/connectors/camel-azure-functions-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurefunctionssink/CamelAzurefunctionssinkSinkConnectorConfig.java b/connectors/camel-azure-functions-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurefunctionssink/CamelAzurefunctionssinkSinkConnectorConfig.java
index 22c8b8b..eb6c0b9 100644
--- a/connectors/camel-azure-functions-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurefunctionssink/CamelAzurefunctionssinkSinkConnectorConfig.java
+++ b/connectors/camel-azure-functions-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurefunctionssink/CamelAzurefunctionssinkSinkConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.azurefunctionssink;
+ */package org.apache.camel.kafkaconnector.azurefunctionssink;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-azure-functions-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurefunctionssink/CamelAzurefunctionssinkSinkTask.java b/connectors/camel-azure-functions-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurefunctionssink/CamelAzurefunctionssinkSinkTask.java
index 958732a..4072c1c 100644
--- a/connectors/camel-azure-functions-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurefunctionssink/CamelAzurefunctionssinkSinkTask.java
+++ b/connectors/camel-azure-functions-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurefunctionssink/CamelAzurefunctionssinkSinkTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.azurefunctionssink;
+ */package org.apache.camel.kafkaconnector.azurefunctionssink;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-azure-servicebus-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azureservicebussink/CamelAzureservicebussinkSinkConnector.java b/connectors/camel-azure-servicebus-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azureservicebussink/CamelAzureservicebussinkSinkConnector.java
index f05395b..7a927d6 100644
--- a/connectors/camel-azure-servicebus-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azureservicebussink/CamelAzureservicebussinkSinkConnector.java
+++ b/connectors/camel-azure-servicebus-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azureservicebussink/CamelAzureservicebussinkSinkConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.azureservicebussink;
+ */package org.apache.camel.kafkaconnector.azureservicebussink;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSinkConnector;
diff --git a/connectors/camel-azure-servicebus-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azureservicebussink/CamelAzureservicebussinkSinkConnectorConfig.java b/connectors/camel-azure-servicebus-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azureservicebussink/CamelAzureservicebussinkSinkConnectorConfig.java
index ff0a65a..773055c 100644
--- a/connectors/camel-azure-servicebus-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azureservicebussink/CamelAzureservicebussinkSinkConnectorConfig.java
+++ b/connectors/camel-azure-servicebus-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azureservicebussink/CamelAzureservicebussinkSinkConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.azureservicebussink;
+ */package org.apache.camel.kafkaconnector.azureservicebussink;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-azure-servicebus-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azureservicebussink/CamelAzureservicebussinkSinkTask.java b/connectors/camel-azure-servicebus-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azureservicebussink/CamelAzureservicebussinkSinkTask.java
index 7755ab8..5a0965b 100644
--- a/connectors/camel-azure-servicebus-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azureservicebussink/CamelAzureservicebussinkSinkTask.java
+++ b/connectors/camel-azure-servicebus-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azureservicebussink/CamelAzureservicebussinkSinkTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.azureservicebussink;
+ */package org.apache.camel.kafkaconnector.azureservicebussink;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-azure-servicebus-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azureservicebussource/CamelAzureservicebussourceSourceConnector.java b/connectors/camel-azure-servicebus-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azureservicebussource/CamelAzureservicebussourceSourceConnector.java
index 3458d6a..a1dfe33 100644
--- a/connectors/camel-azure-servicebus-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azureservicebussource/CamelAzureservicebussourceSourceConnector.java
+++ b/connectors/camel-azure-servicebus-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azureservicebussource/CamelAzureservicebussourceSourceConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.azureservicebussource;
+ */package org.apache.camel.kafkaconnector.azureservicebussource;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSourceConnector;
diff --git a/connectors/camel-azure-servicebus-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azureservicebussource/CamelAzureservicebussourceSourceConnectorConfig.java b/connectors/camel-azure-servicebus-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azureservicebussource/CamelAzureservicebussourceSourceConnectorConfig.java
index fdeda43..fbdfa12 100644
--- a/connectors/camel-azure-servicebus-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azureservicebussource/CamelAzureservicebussourceSourceConnectorConfig.java
+++ b/connectors/camel-azure-servicebus-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azureservicebussource/CamelAzureservicebussourceSourceConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.azureservicebussource;
+ */package org.apache.camel.kafkaconnector.azureservicebussource;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-azure-servicebus-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azureservicebussource/CamelAzureservicebussourceSourceTask.java b/connectors/camel-azure-servicebus-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azureservicebussource/CamelAzureservicebussourceSourceTask.java
index a84a7de..2ffaff7 100644
--- a/connectors/camel-azure-servicebus-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azureservicebussource/CamelAzureservicebussourceSourceTask.java
+++ b/connectors/camel-azure-servicebus-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azureservicebussource/CamelAzureservicebussourceSourceTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.azureservicebussource;
+ */package org.apache.camel.kafkaconnector.azureservicebussource;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-azure-storage-blob-cdc-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurestorageblobcdcsource/CamelAzurestorageblobcdcsourceSourceConnector.java b/connectors/camel-azure-storage-blob-cdc-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurestorageblobcdcsource/CamelAzurestorageblobcdcsourceSourceConnector.java
index 59fd850..5c295b7 100644
--- a/connectors/camel-azure-storage-blob-cdc-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurestorageblobcdcsource/CamelAzurestorageblobcdcsourceSourceConnector.java
+++ b/connectors/camel-azure-storage-blob-cdc-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurestorageblobcdcsource/CamelAzurestorageblobcdcsourceSourceConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.azurestorageblobcdcsource;
+ */package org.apache.camel.kafkaconnector.azurestorageblobcdcsource;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSourceConnector;
diff --git a/connectors/camel-azure-storage-blob-cdc-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurestorageblobcdcsource/CamelAzurestorageblobcdcsourceSourceConnectorConfig.java b/connectors/camel-azure-storage-blob-cdc-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurestorageblobcdcsource/CamelAzurestorageblobcdcsourceSourceConnectorConfig.java
index 4a35a6b..d12434c 100644
--- a/connectors/camel-azure-storage-blob-cdc-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurestorageblobcdcsource/CamelAzurestorageblobcdcsourceSourceConnectorConfig.java
+++ b/connectors/camel-azure-storage-blob-cdc-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurestorageblobcdcsource/CamelAzurestorageblobcdcsourceSourceConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.azurestorageblobcdcsource;
+ */package org.apache.camel.kafkaconnector.azurestorageblobcdcsource;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-azure-storage-blob-cdc-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurestorageblobcdcsource/CamelAzurestorageblobcdcsourceSourceTask.java b/connectors/camel-azure-storage-blob-cdc-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurestorageblobcdcsource/CamelAzurestorageblobcdcsourceSourceTask.java
index 9de3182..e6c7e8f 100644
--- a/connectors/camel-azure-storage-blob-cdc-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurestorageblobcdcsource/CamelAzurestorageblobcdcsourceSourceTask.java
+++ b/connectors/camel-azure-storage-blob-cdc-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurestorageblobcdcsource/CamelAzurestorageblobcdcsourceSourceTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.azurestorageblobcdcsource;
+ */package org.apache.camel.kafkaconnector.azurestorageblobcdcsource;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-azure-storage-blob-changefeed-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurestorageblobchangefeedsource/CamelAzurestorageblobchangefeedsourceSourceConnector.java b/connectors/camel-azure-storage-blob-changefeed-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurestorageblobchangefeedsource/CamelAzurestorageblobchangefeedsourceSourceConnector.java
index 7fa62cb..9fe0d3a 100644
--- a/connectors/camel-azure-storage-blob-changefeed-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurestorageblobchangefeedsource/CamelAzurestorageblobchangefeedsourceSourceConnector.java
+++ b/connectors/camel-azure-storage-blob-changefeed-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurestorageblobchangefeedsource/CamelAzurestorageblobchangefeedsourceSourceConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.azurestorageblobchangefeedsource;
+ */package org.apache.camel.kafkaconnector.azurestorageblobchangefeedsource;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSourceConnector;
diff --git a/connectors/camel-azure-storage-blob-changefeed-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurestorageblobchangefeedsource/CamelAzurestorageblobchangefeedsourceSourceConnectorConfig.java b/connectors/camel-azure-storage-blob-changefeed-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurestorageblobchangefeedsource/CamelAzurestorageblobchangefeedsourceSourceConnectorConfig.java
index fd42452..03f2f80 100644
--- a/connectors/camel-azure-storage-blob-changefeed-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurestorageblobchangefeedsource/CamelAzurestorageblobchangefeedsourceSourceConnectorConfig.java
+++ b/connectors/camel-azure-storage-blob-changefeed-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurestorageblobchangefeedsource/CamelAzurestorageblobchangefeedsourceSourceConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.azurestorageblobchangefeedsource;
+ */package org.apache.camel.kafkaconnector.azurestorageblobchangefeedsource;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-azure-storage-blob-changefeed-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurestorageblobchangefeedsource/CamelAzurestorageblobchangefeedsourceSourceTask.java b/connectors/camel-azure-storage-blob-changefeed-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurestorageblobchangefeedsource/CamelAzurestorageblobchangefeedsourceSourceTask.java
index c3ce2a6..aa5fa1d 100644
--- a/connectors/camel-azure-storage-blob-changefeed-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurestorageblobchangefeedsource/CamelAzurestorageblobchangefeedsourceSourceTask.java
+++ b/connectors/camel-azure-storage-blob-changefeed-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurestorageblobchangefeedsource/CamelAzurestorageblobchangefeedsourceSourceTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.azurestorageblobchangefeedsource;
+ */package org.apache.camel.kafkaconnector.azurestorageblobchangefeedsource;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-azure-storage-blob-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurestorageblobsink/CamelAzurestorageblobsinkSinkConnector.java b/connectors/camel-azure-storage-blob-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurestorageblobsink/CamelAzurestorageblobsinkSinkConnector.java
index a471dd3..ee09d0f 100644
--- a/connectors/camel-azure-storage-blob-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurestorageblobsink/CamelAzurestorageblobsinkSinkConnector.java
+++ b/connectors/camel-azure-storage-blob-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurestorageblobsink/CamelAzurestorageblobsinkSinkConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.azurestorageblobsink;
+ */package org.apache.camel.kafkaconnector.azurestorageblobsink;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSinkConnector;
diff --git a/connectors/camel-azure-storage-blob-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurestorageblobsink/CamelAzurestorageblobsinkSinkConnectorConfig.java b/connectors/camel-azure-storage-blob-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurestorageblobsink/CamelAzurestorageblobsinkSinkConnectorConfig.java
index 82dafb2..32fa884 100644
--- a/connectors/camel-azure-storage-blob-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurestorageblobsink/CamelAzurestorageblobsinkSinkConnectorConfig.java
+++ b/connectors/camel-azure-storage-blob-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurestorageblobsink/CamelAzurestorageblobsinkSinkConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.azurestorageblobsink;
+ */package org.apache.camel.kafkaconnector.azurestorageblobsink;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-azure-storage-blob-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurestorageblobsink/CamelAzurestorageblobsinkSinkTask.java b/connectors/camel-azure-storage-blob-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurestorageblobsink/CamelAzurestorageblobsinkSinkTask.java
index b3e9898..f5f737b 100644
--- a/connectors/camel-azure-storage-blob-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurestorageblobsink/CamelAzurestorageblobsinkSinkTask.java
+++ b/connectors/camel-azure-storage-blob-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurestorageblobsink/CamelAzurestorageblobsinkSinkTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.azurestorageblobsink;
+ */package org.apache.camel.kafkaconnector.azurestorageblobsink;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-azure-storage-blob-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurestorageblobsource/CamelAzurestorageblobsourceSourceConnector.java b/connectors/camel-azure-storage-blob-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurestorageblobsource/CamelAzurestorageblobsourceSourceConnector.java
index 7aa03bd..685665b 100644
--- a/connectors/camel-azure-storage-blob-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurestorageblobsource/CamelAzurestorageblobsourceSourceConnector.java
+++ b/connectors/camel-azure-storage-blob-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurestorageblobsource/CamelAzurestorageblobsourceSourceConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.azurestorageblobsource;
+ */package org.apache.camel.kafkaconnector.azurestorageblobsource;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSourceConnector;
diff --git a/connectors/camel-azure-storage-blob-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurestorageblobsource/CamelAzurestorageblobsourceSourceConnectorConfig.java b/connectors/camel-azure-storage-blob-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurestorageblobsource/CamelAzurestorageblobsourceSourceConnectorConfig.java
index 6251545..0697eaf 100644
--- a/connectors/camel-azure-storage-blob-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurestorageblobsource/CamelAzurestorageblobsourceSourceConnectorConfig.java
+++ b/connectors/camel-azure-storage-blob-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurestorageblobsource/CamelAzurestorageblobsourceSourceConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.azurestorageblobsource;
+ */package org.apache.camel.kafkaconnector.azurestorageblobsource;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-azure-storage-blob-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurestorageblobsource/CamelAzurestorageblobsourceSourceTask.java b/connectors/camel-azure-storage-blob-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurestorageblobsource/CamelAzurestorageblobsourceSourceTask.java
index 9921472..7605c31 100644
--- a/connectors/camel-azure-storage-blob-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurestorageblobsource/CamelAzurestorageblobsourceSourceTask.java
+++ b/connectors/camel-azure-storage-blob-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurestorageblobsource/CamelAzurestorageblobsourceSourceTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.azurestorageblobsource;
+ */package org.apache.camel.kafkaconnector.azurestorageblobsource;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-azure-storage-datalake-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurestoragedatalakesink/CamelAzurestoragedatalakesinkSinkConnector.java b/connectors/camel-azure-storage-datalake-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurestoragedatalakesink/CamelAzurestoragedatalakesinkSinkConnector.java
index 0b6f853..27b1e22 100644
--- a/connectors/camel-azure-storage-datalake-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurestoragedatalakesink/CamelAzurestoragedatalakesinkSinkConnector.java
+++ b/connectors/camel-azure-storage-datalake-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurestoragedatalakesink/CamelAzurestoragedatalakesinkSinkConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.azurestoragedatalakesink;
+ */package org.apache.camel.kafkaconnector.azurestoragedatalakesink;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSinkConnector;
diff --git a/connectors/camel-azure-storage-datalake-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurestoragedatalakesink/CamelAzurestoragedatalakesinkSinkConnectorConfig.java b/connectors/camel-azure-storage-datalake-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurestoragedatalakesink/CamelAzurestoragedatalakesinkSinkConnectorConfig.java
index 49cb7a6..fb86d83 100644
--- a/connectors/camel-azure-storage-datalake-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurestoragedatalakesink/CamelAzurestoragedatalakesinkSinkConnectorConfig.java
+++ b/connectors/camel-azure-storage-datalake-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurestoragedatalakesink/CamelAzurestoragedatalakesinkSinkConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.azurestoragedatalakesink;
+ */package org.apache.camel.kafkaconnector.azurestoragedatalakesink;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-azure-storage-datalake-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurestoragedatalakesink/CamelAzurestoragedatalakesinkSinkTask.java b/connectors/camel-azure-storage-datalake-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurestoragedatalakesink/CamelAzurestoragedatalakesinkSinkTask.java
index d9bcd77..6ae607a 100644
--- a/connectors/camel-azure-storage-datalake-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurestoragedatalakesink/CamelAzurestoragedatalakesinkSinkTask.java
+++ b/connectors/camel-azure-storage-datalake-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurestoragedatalakesink/CamelAzurestoragedatalakesinkSinkTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.azurestoragedatalakesink;
+ */package org.apache.camel.kafkaconnector.azurestoragedatalakesink;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-azure-storage-datalake-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurestoragedatalakesource/CamelAzurestoragedatalakesourceSourceConnector.java b/connectors/camel-azure-storage-datalake-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurestoragedatalakesource/CamelAzurestoragedatalakesourceSourceConnector.java
index d78989d..88c53c1 100644
--- a/connectors/camel-azure-storage-datalake-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurestoragedatalakesource/CamelAzurestoragedatalakesourceSourceConnector.java
+++ b/connectors/camel-azure-storage-datalake-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurestoragedatalakesource/CamelAzurestoragedatalakesourceSourceConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.azurestoragedatalakesource;
+ */package org.apache.camel.kafkaconnector.azurestoragedatalakesource;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSourceConnector;
diff --git a/connectors/camel-azure-storage-datalake-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurestoragedatalakesource/CamelAzurestoragedatalakesourceSourceConnectorConfig.java b/connectors/camel-azure-storage-datalake-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurestoragedatalakesource/CamelAzurestoragedatalakesourceSourceConnectorConfig.java
index 673cd96..0a7c8ab0 100644
--- a/connectors/camel-azure-storage-datalake-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurestoragedatalakesource/CamelAzurestoragedatalakesourceSourceConnectorConfig.java
+++ b/connectors/camel-azure-storage-datalake-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurestoragedatalakesource/CamelAzurestoragedatalakesourceSourceConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.azurestoragedatalakesource;
+ */package org.apache.camel.kafkaconnector.azurestoragedatalakesource;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-azure-storage-datalake-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurestoragedatalakesource/CamelAzurestoragedatalakesourceSourceTask.java b/connectors/camel-azure-storage-datalake-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurestoragedatalakesource/CamelAzurestoragedatalakesourceSourceTask.java
index 3cc6ed4..79ba4fa 100644
--- a/connectors/camel-azure-storage-datalake-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurestoragedatalakesource/CamelAzurestoragedatalakesourceSourceTask.java
+++ b/connectors/camel-azure-storage-datalake-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurestoragedatalakesource/CamelAzurestoragedatalakesourceSourceTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.azurestoragedatalakesource;
+ */package org.apache.camel.kafkaconnector.azurestoragedatalakesource;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-azure-storage-queue-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurestoragequeuesink/CamelAzurestoragequeuesinkSinkConnector.java b/connectors/camel-azure-storage-queue-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurestoragequeuesink/CamelAzurestoragequeuesinkSinkConnector.java
index 4e7489e..afe2330 100644
--- a/connectors/camel-azure-storage-queue-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurestoragequeuesink/CamelAzurestoragequeuesinkSinkConnector.java
+++ b/connectors/camel-azure-storage-queue-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurestoragequeuesink/CamelAzurestoragequeuesinkSinkConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.azurestoragequeuesink;
+ */package org.apache.camel.kafkaconnector.azurestoragequeuesink;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSinkConnector;
diff --git a/connectors/camel-azure-storage-queue-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurestoragequeuesink/CamelAzurestoragequeuesinkSinkConnectorConfig.java b/connectors/camel-azure-storage-queue-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurestoragequeuesink/CamelAzurestoragequeuesinkSinkConnectorConfig.java
index 79f2ec6..bca08c2 100644
--- a/connectors/camel-azure-storage-queue-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurestoragequeuesink/CamelAzurestoragequeuesinkSinkConnectorConfig.java
+++ b/connectors/camel-azure-storage-queue-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurestoragequeuesink/CamelAzurestoragequeuesinkSinkConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.azurestoragequeuesink;
+ */package org.apache.camel.kafkaconnector.azurestoragequeuesink;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-azure-storage-queue-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurestoragequeuesink/CamelAzurestoragequeuesinkSinkTask.java b/connectors/camel-azure-storage-queue-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurestoragequeuesink/CamelAzurestoragequeuesinkSinkTask.java
index 0e43fb5..aea9fe5 100644
--- a/connectors/camel-azure-storage-queue-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurestoragequeuesink/CamelAzurestoragequeuesinkSinkTask.java
+++ b/connectors/camel-azure-storage-queue-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurestoragequeuesink/CamelAzurestoragequeuesinkSinkTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.azurestoragequeuesink;
+ */package org.apache.camel.kafkaconnector.azurestoragequeuesink;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-azure-storage-queue-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurestoragequeuesource/CamelAzurestoragequeuesourceSourceConnector.java b/connectors/camel-azure-storage-queue-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurestoragequeuesource/CamelAzurestoragequeuesourceSourceConnector.java
index b371ea6..ba12fcc 100644
--- a/connectors/camel-azure-storage-queue-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurestoragequeuesource/CamelAzurestoragequeuesourceSourceConnector.java
+++ b/connectors/camel-azure-storage-queue-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurestoragequeuesource/CamelAzurestoragequeuesourceSourceConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.azurestoragequeuesource;
+ */package org.apache.camel.kafkaconnector.azurestoragequeuesource;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSourceConnector;
diff --git a/connectors/camel-azure-storage-queue-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurestoragequeuesource/CamelAzurestoragequeuesourceSourceConnectorConfig.java b/connectors/camel-azure-storage-queue-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurestoragequeuesource/CamelAzurestoragequeuesourceSourceConnectorConfig.java
index 6fc0fc4..dd0299f 100644
--- a/connectors/camel-azure-storage-queue-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurestoragequeuesource/CamelAzurestoragequeuesourceSourceConnectorConfig.java
+++ b/connectors/camel-azure-storage-queue-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurestoragequeuesource/CamelAzurestoragequeuesourceSourceConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.azurestoragequeuesource;
+ */package org.apache.camel.kafkaconnector.azurestoragequeuesource;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-azure-storage-queue-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurestoragequeuesource/CamelAzurestoragequeuesourceSourceTask.java b/connectors/camel-azure-storage-queue-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurestoragequeuesource/CamelAzurestoragequeuesourceSourceTask.java
index aa94b5f..3bf7a9a 100644
--- a/connectors/camel-azure-storage-queue-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurestoragequeuesource/CamelAzurestoragequeuesourceSourceTask.java
+++ b/connectors/camel-azure-storage-queue-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurestoragequeuesource/CamelAzurestoragequeuesourceSourceTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.azurestoragequeuesource;
+ */package org.apache.camel.kafkaconnector.azurestoragequeuesource;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-beer-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/beersource/CamelBeersourceSourceConnector.java b/connectors/camel-beer-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/beersource/CamelBeersourceSourceConnector.java
index ba0c165..fd2c3cc 100644
--- a/connectors/camel-beer-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/beersource/CamelBeersourceSourceConnector.java
+++ b/connectors/camel-beer-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/beersource/CamelBeersourceSourceConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.beersource;
+ */package org.apache.camel.kafkaconnector.beersource;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSourceConnector;
diff --git a/connectors/camel-beer-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/beersource/CamelBeersourceSourceConnectorConfig.java b/connectors/camel-beer-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/beersource/CamelBeersourceSourceConnectorConfig.java
index 9695093..1089dbb 100644
--- a/connectors/camel-beer-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/beersource/CamelBeersourceSourceConnectorConfig.java
+++ b/connectors/camel-beer-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/beersource/CamelBeersourceSourceConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.beersource;
+ */package org.apache.camel.kafkaconnector.beersource;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-beer-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/beersource/CamelBeersourceSourceTask.java b/connectors/camel-beer-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/beersource/CamelBeersourceSourceTask.java
index 146cb2a..5f59b15 100644
--- a/connectors/camel-beer-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/beersource/CamelBeersourceSourceTask.java
+++ b/connectors/camel-beer-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/beersource/CamelBeersourceSourceTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.beersource;
+ */package org.apache.camel.kafkaconnector.beersource;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-bitcoin-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/bitcoinsource/CamelBitcoinsourceSourceConnector.java b/connectors/camel-bitcoin-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/bitcoinsource/CamelBitcoinsourceSourceConnector.java
index e3131d9..f90b683 100644
--- a/connectors/camel-bitcoin-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/bitcoinsource/CamelBitcoinsourceSourceConnector.java
+++ b/connectors/camel-bitcoin-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/bitcoinsource/CamelBitcoinsourceSourceConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.bitcoinsource;
+ */package org.apache.camel.kafkaconnector.bitcoinsource;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSourceConnector;
diff --git a/connectors/camel-bitcoin-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/bitcoinsource/CamelBitcoinsourceSourceConnectorConfig.java b/connectors/camel-bitcoin-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/bitcoinsource/CamelBitcoinsourceSourceConnectorConfig.java
index 229f48b..4ad21be 100644
--- a/connectors/camel-bitcoin-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/bitcoinsource/CamelBitcoinsourceSourceConnectorConfig.java
+++ b/connectors/camel-bitcoin-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/bitcoinsource/CamelBitcoinsourceSourceConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.bitcoinsource;
+ */package org.apache.camel.kafkaconnector.bitcoinsource;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-bitcoin-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/bitcoinsource/CamelBitcoinsourceSourceTask.java b/connectors/camel-bitcoin-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/bitcoinsource/CamelBitcoinsourceSourceTask.java
index f36c43e..9c0d6d0 100644
--- a/connectors/camel-bitcoin-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/bitcoinsource/CamelBitcoinsourceSourceTask.java
+++ b/connectors/camel-bitcoin-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/bitcoinsource/CamelBitcoinsourceSourceTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.bitcoinsource;
+ */package org.apache.camel.kafkaconnector.bitcoinsource;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-cassandra-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/cassandrasink/CamelCassandrasinkSinkConnector.java b/connectors/camel-cassandra-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/cassandrasink/CamelCassandrasinkSinkConnector.java
index bc4ddf4..a14e358 100644
--- a/connectors/camel-cassandra-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/cassandrasink/CamelCassandrasinkSinkConnector.java
+++ b/connectors/camel-cassandra-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/cassandrasink/CamelCassandrasinkSinkConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.cassandrasink;
+ */package org.apache.camel.kafkaconnector.cassandrasink;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSinkConnector;
diff --git a/connectors/camel-cassandra-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/cassandrasink/CamelCassandrasinkSinkConnectorConfig.java b/connectors/camel-cassandra-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/cassandrasink/CamelCassandrasinkSinkConnectorConfig.java
index 32d2b19..da9eb8a 100644
--- a/connectors/camel-cassandra-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/cassandrasink/CamelCassandrasinkSinkConnectorConfig.java
+++ b/connectors/camel-cassandra-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/cassandrasink/CamelCassandrasinkSinkConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.cassandrasink;
+ */package org.apache.camel.kafkaconnector.cassandrasink;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-cassandra-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/cassandrasink/CamelCassandrasinkSinkTask.java b/connectors/camel-cassandra-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/cassandrasink/CamelCassandrasinkSinkTask.java
index 7b0a6f6..6dfddd7 100644
--- a/connectors/camel-cassandra-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/cassandrasink/CamelCassandrasinkSinkTask.java
+++ b/connectors/camel-cassandra-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/cassandrasink/CamelCassandrasinkSinkTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.cassandrasink;
+ */package org.apache.camel.kafkaconnector.cassandrasink;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-cassandra-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/cassandrasource/CamelCassandrasourceSourceConnector.java b/connectors/camel-cassandra-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/cassandrasource/CamelCassandrasourceSourceConnector.java
index 609b77b..eb23a15 100644
--- a/connectors/camel-cassandra-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/cassandrasource/CamelCassandrasourceSourceConnector.java
+++ b/connectors/camel-cassandra-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/cassandrasource/CamelCassandrasourceSourceConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.cassandrasource;
+ */package org.apache.camel.kafkaconnector.cassandrasource;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSourceConnector;
diff --git a/connectors/camel-cassandra-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/cassandrasource/CamelCassandrasourceSourceConnectorConfig.java b/connectors/camel-cassandra-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/cassandrasource/CamelCassandrasourceSourceConnectorConfig.java
index cd54d90..ccd2454 100644
--- a/connectors/camel-cassandra-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/cassandrasource/CamelCassandrasourceSourceConnectorConfig.java
+++ b/connectors/camel-cassandra-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/cassandrasource/CamelCassandrasourceSourceConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.cassandrasource;
+ */package org.apache.camel.kafkaconnector.cassandrasource;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-cassandra-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/cassandrasource/CamelCassandrasourceSourceTask.java b/connectors/camel-cassandra-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/cassandrasource/CamelCassandrasourceSourceTask.java
index 6dd537a..815413c 100644
--- a/connectors/camel-cassandra-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/cassandrasource/CamelCassandrasourceSourceTask.java
+++ b/connectors/camel-cassandra-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/cassandrasource/CamelCassandrasourceSourceTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.cassandrasource;
+ */package org.apache.camel.kafkaconnector.cassandrasource;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-ceph-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/cephsink/CamelCephsinkSinkConnector.java b/connectors/camel-ceph-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/cephsink/CamelCephsinkSinkConnector.java
index d89ee2e..2a16ad3 100644
--- a/connectors/camel-ceph-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/cephsink/CamelCephsinkSinkConnector.java
+++ b/connectors/camel-ceph-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/cephsink/CamelCephsinkSinkConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.cephsink;
+ */package org.apache.camel.kafkaconnector.cephsink;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSinkConnector;
diff --git a/connectors/camel-ceph-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/cephsink/CamelCephsinkSinkConnectorConfig.java b/connectors/camel-ceph-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/cephsink/CamelCephsinkSinkConnectorConfig.java
index 4ac653a..c70e3bf 100644
--- a/connectors/camel-ceph-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/cephsink/CamelCephsinkSinkConnectorConfig.java
+++ b/connectors/camel-ceph-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/cephsink/CamelCephsinkSinkConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.cephsink;
+ */package org.apache.camel.kafkaconnector.cephsink;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-ceph-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/cephsink/CamelCephsinkSinkTask.java b/connectors/camel-ceph-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/cephsink/CamelCephsinkSinkTask.java
index 52a59eb..c2bcaa7 100644
--- a/connectors/camel-ceph-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/cephsink/CamelCephsinkSinkTask.java
+++ b/connectors/camel-ceph-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/cephsink/CamelCephsinkSinkTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.cephsink;
+ */package org.apache.camel.kafkaconnector.cephsink;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-ceph-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/cephsource/CamelCephsourceSourceConnector.java b/connectors/camel-ceph-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/cephsource/CamelCephsourceSourceConnector.java
index 4e3f628..a67e94b 100644
--- a/connectors/camel-ceph-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/cephsource/CamelCephsourceSourceConnector.java
+++ b/connectors/camel-ceph-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/cephsource/CamelCephsourceSourceConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.cephsource;
+ */package org.apache.camel.kafkaconnector.cephsource;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSourceConnector;
diff --git a/connectors/camel-ceph-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/cephsource/CamelCephsourceSourceConnectorConfig.java b/connectors/camel-ceph-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/cephsource/CamelCephsourceSourceConnectorConfig.java
index 4d9fee2..34ad502 100644
--- a/connectors/camel-ceph-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/cephsource/CamelCephsourceSourceConnectorConfig.java
+++ b/connectors/camel-ceph-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/cephsource/CamelCephsourceSourceConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.cephsource;
+ */package org.apache.camel.kafkaconnector.cephsource;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-ceph-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/cephsource/CamelCephsourceSourceTask.java b/connectors/camel-ceph-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/cephsource/CamelCephsourceSourceTask.java
index bf337da..45cfd34 100644
--- a/connectors/camel-ceph-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/cephsource/CamelCephsourceSourceTask.java
+++ b/connectors/camel-ceph-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/cephsource/CamelCephsourceSourceTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.cephsource;
+ */package org.apache.camel.kafkaconnector.cephsource;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-chuck-norris-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/chucknorrissource/CamelChucknorrissourceSourceConnector.java b/connectors/camel-chuck-norris-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/chucknorrissource/CamelChucknorrissourceSourceConnector.java
index 306091c..08f452d 100644
--- a/connectors/camel-chuck-norris-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/chucknorrissource/CamelChucknorrissourceSourceConnector.java
+++ b/connectors/camel-chuck-norris-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/chucknorrissource/CamelChucknorrissourceSourceConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.chucknorrissource;
+ */package org.apache.camel.kafkaconnector.chucknorrissource;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSourceConnector;
diff --git a/connectors/camel-chuck-norris-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/chucknorrissource/CamelChucknorrissourceSourceConnectorConfig.java b/connectors/camel-chuck-norris-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/chucknorrissource/CamelChucknorrissourceSourceConnectorConfig.java
index 8d16e09..ac28bb9 100644
--- a/connectors/camel-chuck-norris-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/chucknorrissource/CamelChucknorrissourceSourceConnectorConfig.java
+++ b/connectors/camel-chuck-norris-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/chucknorrissource/CamelChucknorrissourceSourceConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.chucknorrissource;
+ */package org.apache.camel.kafkaconnector.chucknorrissource;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-chuck-norris-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/chucknorrissource/CamelChucknorrissourceSourceTask.java b/connectors/camel-chuck-norris-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/chucknorrissource/CamelChucknorrissourceSourceTask.java
index a42593a..388a9dd 100644
--- a/connectors/camel-chuck-norris-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/chucknorrissource/CamelChucknorrissourceSourceTask.java
+++ b/connectors/camel-chuck-norris-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/chucknorrissource/CamelChucknorrissourceSourceTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.chucknorrissource;
+ */package org.apache.camel.kafkaconnector.chucknorrissource;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-couchbase-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/couchbasesink/CamelCouchbasesinkSinkConnector.java b/connectors/camel-couchbase-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/couchbasesink/CamelCouchbasesinkSinkConnector.java
index 5451115..a8192b2 100644
--- a/connectors/camel-couchbase-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/couchbasesink/CamelCouchbasesinkSinkConnector.java
+++ b/connectors/camel-couchbase-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/couchbasesink/CamelCouchbasesinkSinkConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.couchbasesink;
+ */package org.apache.camel.kafkaconnector.couchbasesink;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSinkConnector;
diff --git a/connectors/camel-couchbase-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/couchbasesink/CamelCouchbasesinkSinkConnectorConfig.java b/connectors/camel-couchbase-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/couchbasesink/CamelCouchbasesinkSinkConnectorConfig.java
index 0f4a52d..b9dbf40 100644
--- a/connectors/camel-couchbase-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/couchbasesink/CamelCouchbasesinkSinkConnectorConfig.java
+++ b/connectors/camel-couchbase-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/couchbasesink/CamelCouchbasesinkSinkConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.couchbasesink;
+ */package org.apache.camel.kafkaconnector.couchbasesink;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-couchbase-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/couchbasesink/CamelCouchbasesinkSinkTask.java b/connectors/camel-couchbase-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/couchbasesink/CamelCouchbasesinkSinkTask.java
index 1b90c0c..c633703 100644
--- a/connectors/camel-couchbase-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/couchbasesink/CamelCouchbasesinkSinkTask.java
+++ b/connectors/camel-couchbase-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/couchbasesink/CamelCouchbasesinkSinkTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.couchbasesink;
+ */package org.apache.camel.kafkaconnector.couchbasesink;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-cron-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/cronsource/CamelCronsourceSourceConnector.java b/connectors/camel-cron-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/cronsource/CamelCronsourceSourceConnector.java
index 0587285..300350f 100644
--- a/connectors/camel-cron-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/cronsource/CamelCronsourceSourceConnector.java
+++ b/connectors/camel-cron-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/cronsource/CamelCronsourceSourceConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.cronsource;
+ */package org.apache.camel.kafkaconnector.cronsource;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSourceConnector;
diff --git a/connectors/camel-cron-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/cronsource/CamelCronsourceSourceConnectorConfig.java b/connectors/camel-cron-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/cronsource/CamelCronsourceSourceConnectorConfig.java
index c1a1fca..d8c6e39 100644
--- a/connectors/camel-cron-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/cronsource/CamelCronsourceSourceConnectorConfig.java
+++ b/connectors/camel-cron-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/cronsource/CamelCronsourceSourceConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.cronsource;
+ */package org.apache.camel.kafkaconnector.cronsource;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-cron-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/cronsource/CamelCronsourceSourceTask.java b/connectors/camel-cron-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/cronsource/CamelCronsourceSourceTask.java
index dee6b47..f75e087 100644
--- a/connectors/camel-cron-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/cronsource/CamelCronsourceSourceTask.java
+++ b/connectors/camel-cron-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/cronsource/CamelCronsourceSourceTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.cronsource;
+ */package org.apache.camel.kafkaconnector.cronsource;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-cxf-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/cxf/CamelCxfSinkConnector.java b/connectors/camel-cxf-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/cxf/CamelCxfSinkConnector.java
index fa0212b..53db078 100644
--- a/connectors/camel-cxf-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/cxf/CamelCxfSinkConnector.java
+++ b/connectors/camel-cxf-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/cxf/CamelCxfSinkConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.cxf;
+ */package org.apache.camel.kafkaconnector.cxf;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSinkConnector;
diff --git a/connectors/camel-cxf-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/cxf/CamelCxfSinkConnectorConfig.java b/connectors/camel-cxf-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/cxf/CamelCxfSinkConnectorConfig.java
index 3caa043..071667f 100644
--- a/connectors/camel-cxf-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/cxf/CamelCxfSinkConnectorConfig.java
+++ b/connectors/camel-cxf-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/cxf/CamelCxfSinkConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.cxf;
+ */package org.apache.camel.kafkaconnector.cxf;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-cxf-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/cxf/CamelCxfSinkTask.java b/connectors/camel-cxf-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/cxf/CamelCxfSinkTask.java
index af1b476..fbd9228 100644
--- a/connectors/camel-cxf-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/cxf/CamelCxfSinkTask.java
+++ b/connectors/camel-cxf-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/cxf/CamelCxfSinkTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.cxf;
+ */package org.apache.camel.kafkaconnector.cxf;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-cxf-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/cxf/CamelCxfSourceConnector.java b/connectors/camel-cxf-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/cxf/CamelCxfSourceConnector.java
index 0530d70..8abf8b6 100644
--- a/connectors/camel-cxf-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/cxf/CamelCxfSourceConnector.java
+++ b/connectors/camel-cxf-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/cxf/CamelCxfSourceConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.cxf;
+ */package org.apache.camel.kafkaconnector.cxf;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSourceConnector;
diff --git a/connectors/camel-cxf-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/cxf/CamelCxfSourceConnectorConfig.java b/connectors/camel-cxf-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/cxf/CamelCxfSourceConnectorConfig.java
index 4d8cac4..16cae68 100644
--- a/connectors/camel-cxf-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/cxf/CamelCxfSourceConnectorConfig.java
+++ b/connectors/camel-cxf-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/cxf/CamelCxfSourceConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.cxf;
+ */package org.apache.camel.kafkaconnector.cxf;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-cxf-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/cxf/CamelCxfSourceTask.java b/connectors/camel-cxf-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/cxf/CamelCxfSourceTask.java
index e23d71c..48eb53a 100644
--- a/connectors/camel-cxf-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/cxf/CamelCxfSourceTask.java
+++ b/connectors/camel-cxf-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/cxf/CamelCxfSourceTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.cxf;
+ */package org.apache.camel.kafkaconnector.cxf;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-cxfrs-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/cxfrs/CamelCxfrsSinkConnector.java b/connectors/camel-cxfrs-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/cxfrs/CamelCxfrsSinkConnector.java
index 795284f..a72ce8f 100644
--- a/connectors/camel-cxfrs-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/cxfrs/CamelCxfrsSinkConnector.java
+++ b/connectors/camel-cxfrs-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/cxfrs/CamelCxfrsSinkConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.cxfrs;
+ */package org.apache.camel.kafkaconnector.cxfrs;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSinkConnector;
diff --git a/connectors/camel-cxfrs-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/cxfrs/CamelCxfrsSinkConnectorConfig.java b/connectors/camel-cxfrs-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/cxfrs/CamelCxfrsSinkConnectorConfig.java
index f0b1d0a..fdbe131 100644
--- a/connectors/camel-cxfrs-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/cxfrs/CamelCxfrsSinkConnectorConfig.java
+++ b/connectors/camel-cxfrs-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/cxfrs/CamelCxfrsSinkConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.cxfrs;
+ */package org.apache.camel.kafkaconnector.cxfrs;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-cxfrs-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/cxfrs/CamelCxfrsSinkTask.java b/connectors/camel-cxfrs-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/cxfrs/CamelCxfrsSinkTask.java
index f8ed73e..34c6308 100644
--- a/connectors/camel-cxfrs-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/cxfrs/CamelCxfrsSinkTask.java
+++ b/connectors/camel-cxfrs-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/cxfrs/CamelCxfrsSinkTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.cxfrs;
+ */package org.apache.camel.kafkaconnector.cxfrs;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-cxfrs-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/cxfrs/CamelCxfrsSourceConnector.java b/connectors/camel-cxfrs-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/cxfrs/CamelCxfrsSourceConnector.java
index 553aab8..2ce9218 100644
--- a/connectors/camel-cxfrs-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/cxfrs/CamelCxfrsSourceConnector.java
+++ b/connectors/camel-cxfrs-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/cxfrs/CamelCxfrsSourceConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.cxfrs;
+ */package org.apache.camel.kafkaconnector.cxfrs;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSourceConnector;
diff --git a/connectors/camel-cxfrs-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/cxfrs/CamelCxfrsSourceConnectorConfig.java b/connectors/camel-cxfrs-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/cxfrs/CamelCxfrsSourceConnectorConfig.java
index 2fb0f4d..1d34168 100644
--- a/connectors/camel-cxfrs-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/cxfrs/CamelCxfrsSourceConnectorConfig.java
+++ b/connectors/camel-cxfrs-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/cxfrs/CamelCxfrsSourceConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.cxfrs;
+ */package org.apache.camel.kafkaconnector.cxfrs;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-cxfrs-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/cxfrs/CamelCxfrsSourceTask.java b/connectors/camel-cxfrs-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/cxfrs/CamelCxfrsSourceTask.java
index 3711c4a..ff0edb5 100644
--- a/connectors/camel-cxfrs-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/cxfrs/CamelCxfrsSourceTask.java
+++ b/connectors/camel-cxfrs-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/cxfrs/CamelCxfrsSourceTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.cxfrs;
+ */package org.apache.camel.kafkaconnector.cxfrs;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-dropbox-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/dropboxsink/CamelDropboxsinkSinkConnector.java b/connectors/camel-dropbox-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/dropboxsink/CamelDropboxsinkSinkConnector.java
index dc6d78e..a47c5db 100644
--- a/connectors/camel-dropbox-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/dropboxsink/CamelDropboxsinkSinkConnector.java
+++ b/connectors/camel-dropbox-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/dropboxsink/CamelDropboxsinkSinkConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.dropboxsink;
+ */package org.apache.camel.kafkaconnector.dropboxsink;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSinkConnector;
diff --git a/connectors/camel-dropbox-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/dropboxsink/CamelDropboxsinkSinkConnectorConfig.java b/connectors/camel-dropbox-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/dropboxsink/CamelDropboxsinkSinkConnectorConfig.java
index 83dd191..eef767b 100644
--- a/connectors/camel-dropbox-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/dropboxsink/CamelDropboxsinkSinkConnectorConfig.java
+++ b/connectors/camel-dropbox-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/dropboxsink/CamelDropboxsinkSinkConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.dropboxsink;
+ */package org.apache.camel.kafkaconnector.dropboxsink;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-dropbox-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/dropboxsink/CamelDropboxsinkSinkTask.java b/connectors/camel-dropbox-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/dropboxsink/CamelDropboxsinkSinkTask.java
index ad87636..c9242f2 100644
--- a/connectors/camel-dropbox-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/dropboxsink/CamelDropboxsinkSinkTask.java
+++ b/connectors/camel-dropbox-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/dropboxsink/CamelDropboxsinkSinkTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.dropboxsink;
+ */package org.apache.camel.kafkaconnector.dropboxsink;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-dropbox-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/dropboxsource/CamelDropboxsourceSourceConnector.java b/connectors/camel-dropbox-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/dropboxsource/CamelDropboxsourceSourceConnector.java
index a88c8a3..cc0b739 100644
--- a/connectors/camel-dropbox-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/dropboxsource/CamelDropboxsourceSourceConnector.java
+++ b/connectors/camel-dropbox-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/dropboxsource/CamelDropboxsourceSourceConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.dropboxsource;
+ */package org.apache.camel.kafkaconnector.dropboxsource;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSourceConnector;
diff --git a/connectors/camel-dropbox-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/dropboxsource/CamelDropboxsourceSourceConnectorConfig.java b/connectors/camel-dropbox-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/dropboxsource/CamelDropboxsourceSourceConnectorConfig.java
index 180a29f..8c4bc2e 100644
--- a/connectors/camel-dropbox-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/dropboxsource/CamelDropboxsourceSourceConnectorConfig.java
+++ b/connectors/camel-dropbox-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/dropboxsource/CamelDropboxsourceSourceConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.dropboxsource;
+ */package org.apache.camel.kafkaconnector.dropboxsource;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-dropbox-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/dropboxsource/CamelDropboxsourceSourceTask.java b/connectors/camel-dropbox-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/dropboxsource/CamelDropboxsourceSourceTask.java
index f109185..104a62d 100644
--- a/connectors/camel-dropbox-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/dropboxsource/CamelDropboxsourceSourceTask.java
+++ b/connectors/camel-dropbox-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/dropboxsource/CamelDropboxsourceSourceTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.dropboxsource;
+ */package org.apache.camel.kafkaconnector.dropboxsource;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-earthquake-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/earthquakesource/CamelEarthquakesourceSourceConnector.java b/connectors/camel-earthquake-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/earthquakesource/CamelEarthquakesourceSourceConnector.java
index 9230dc2..3afa55e 100644
--- a/connectors/camel-earthquake-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/earthquakesource/CamelEarthquakesourceSourceConnector.java
+++ b/connectors/camel-earthquake-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/earthquakesource/CamelEarthquakesourceSourceConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.earthquakesource;
+ */package org.apache.camel.kafkaconnector.earthquakesource;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSourceConnector;
diff --git a/connectors/camel-earthquake-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/earthquakesource/CamelEarthquakesourceSourceConnectorConfig.java b/connectors/camel-earthquake-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/earthquakesource/CamelEarthquakesourceSourceConnectorConfig.java
index 74079fc..9b2aaee 100644
--- a/connectors/camel-earthquake-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/earthquakesource/CamelEarthquakesourceSourceConnectorConfig.java
+++ b/connectors/camel-earthquake-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/earthquakesource/CamelEarthquakesourceSourceConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.earthquakesource;
+ */package org.apache.camel.kafkaconnector.earthquakesource;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-earthquake-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/earthquakesource/CamelEarthquakesourceSourceTask.java b/connectors/camel-earthquake-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/earthquakesource/CamelEarthquakesourceSourceTask.java
index 974bcfc..4bfab40 100644
--- a/connectors/camel-earthquake-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/earthquakesource/CamelEarthquakesourceSourceTask.java
+++ b/connectors/camel-earthquake-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/earthquakesource/CamelEarthquakesourceSourceTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.earthquakesource;
+ */package org.apache.camel.kafkaconnector.earthquakesource;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-elasticsearch-index-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/elasticsearchindexsink/CamelElasticsearchindexsinkSinkConnector.java b/connectors/camel-elasticsearch-index-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/elasticsearchindexsink/CamelElasticsearchindexsinkSinkConnector.java
index 958ea0d..79ef4e8 100644
--- a/connectors/camel-elasticsearch-index-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/elasticsearchindexsink/CamelElasticsearchindexsinkSinkConnector.java
+++ b/connectors/camel-elasticsearch-index-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/elasticsearchindexsink/CamelElasticsearchindexsinkSinkConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.elasticsearchindexsink;
+ */package org.apache.camel.kafkaconnector.elasticsearchindexsink;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSinkConnector;
diff --git a/connectors/camel-elasticsearch-index-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/elasticsearchindexsink/CamelElasticsearchindexsinkSinkConnectorConfig.java b/connectors/camel-elasticsearch-index-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/elasticsearchindexsink/CamelElasticsearchindexsinkSinkConnectorConfig.java
index 98d1628..e27ceab 100644
--- a/connectors/camel-elasticsearch-index-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/elasticsearchindexsink/CamelElasticsearchindexsinkSinkConnectorConfig.java
+++ b/connectors/camel-elasticsearch-index-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/elasticsearchindexsink/CamelElasticsearchindexsinkSinkConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.elasticsearchindexsink;
+ */package org.apache.camel.kafkaconnector.elasticsearchindexsink;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-elasticsearch-index-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/elasticsearchindexsink/CamelElasticsearchindexsinkSinkTask.java b/connectors/camel-elasticsearch-index-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/elasticsearchindexsink/CamelElasticsearchindexsinkSinkTask.java
index 04a458d..531f994 100644
--- a/connectors/camel-elasticsearch-index-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/elasticsearchindexsink/CamelElasticsearchindexsinkSinkTask.java
+++ b/connectors/camel-elasticsearch-index-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/elasticsearchindexsink/CamelElasticsearchindexsinkSinkTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.elasticsearchindexsink;
+ */package org.apache.camel.kafkaconnector.elasticsearchindexsink;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-elasticsearch-search-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/elasticsearchsearchsource/CamelElasticsearchsearchsourceSourceConnector.java b/connectors/camel-elasticsearch-search-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/elasticsearchsearchsource/CamelElasticsearchsearchsourceSourceConnector.java
index 4763cea..e672000 100644
--- a/connectors/camel-elasticsearch-search-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/elasticsearchsearchsource/CamelElasticsearchsearchsourceSourceConnector.java
+++ b/connectors/camel-elasticsearch-search-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/elasticsearchsearchsource/CamelElasticsearchsearchsourceSourceConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.elasticsearchsearchsource;
+ */package org.apache.camel.kafkaconnector.elasticsearchsearchsource;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSourceConnector;
diff --git a/connectors/camel-elasticsearch-search-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/elasticsearchsearchsource/CamelElasticsearchsearchsourceSourceConnectorConfig.java b/connectors/camel-elasticsearch-search-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/elasticsearchsearchsource/CamelElasticsearchsearchsourceSourceConnectorConfig.java
index bb23bb1..cea0947 100644
--- a/connectors/camel-elasticsearch-search-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/elasticsearchsearchsource/CamelElasticsearchsearchsourceSourceConnectorConfig.java
+++ b/connectors/camel-elasticsearch-search-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/elasticsearchsearchsource/CamelElasticsearchsearchsourceSourceConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.elasticsearchsearchsource;
+ */package org.apache.camel.kafkaconnector.elasticsearchsearchsource;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-elasticsearch-search-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/elasticsearchsearchsource/CamelElasticsearchsearchsourceSourceTask.java b/connectors/camel-elasticsearch-search-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/elasticsearchsearchsource/CamelElasticsearchsearchsourceSourceTask.java
index 9858790..fd08749 100644
--- a/connectors/camel-elasticsearch-search-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/elasticsearchsearchsource/CamelElasticsearchsearchsourceSourceTask.java
+++ b/connectors/camel-elasticsearch-search-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/elasticsearchsearchsource/CamelElasticsearchsearchsourceSourceTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.elasticsearchsearchsource;
+ */package org.apache.camel.kafkaconnector.elasticsearchsearchsource;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-exec-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/execsink/CamelExecsinkSinkConnector.java b/connectors/camel-exec-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/execsink/CamelExecsinkSinkConnector.java
index 35d58f4..b05127d 100644
--- a/connectors/camel-exec-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/execsink/CamelExecsinkSinkConnector.java
+++ b/connectors/camel-exec-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/execsink/CamelExecsinkSinkConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.execsink;
+ */package org.apache.camel.kafkaconnector.execsink;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSinkConnector;
diff --git a/connectors/camel-exec-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/execsink/CamelExecsinkSinkConnectorConfig.java b/connectors/camel-exec-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/execsink/CamelExecsinkSinkConnectorConfig.java
index cd5599a..9486a2e 100644
--- a/connectors/camel-exec-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/execsink/CamelExecsinkSinkConnectorConfig.java
+++ b/connectors/camel-exec-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/execsink/CamelExecsinkSinkConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.execsink;
+ */package org.apache.camel.kafkaconnector.execsink;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-exec-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/execsink/CamelExecsinkSinkTask.java b/connectors/camel-exec-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/execsink/CamelExecsinkSinkTask.java
index 5a58522..c48c4dc 100644
--- a/connectors/camel-exec-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/execsink/CamelExecsinkSinkTask.java
+++ b/connectors/camel-exec-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/execsink/CamelExecsinkSinkTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.execsink;
+ */package org.apache.camel.kafkaconnector.execsink;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-fhir-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/fhirsink/CamelFhirsinkSinkConnector.java b/connectors/camel-fhir-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/fhirsink/CamelFhirsinkSinkConnector.java
index 261c1de..fc9868c 100644
--- a/connectors/camel-fhir-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/fhirsink/CamelFhirsinkSinkConnector.java
+++ b/connectors/camel-fhir-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/fhirsink/CamelFhirsinkSinkConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.fhirsink;
+ */package org.apache.camel.kafkaconnector.fhirsink;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSinkConnector;
diff --git a/connectors/camel-fhir-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/fhirsink/CamelFhirsinkSinkConnectorConfig.java b/connectors/camel-fhir-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/fhirsink/CamelFhirsinkSinkConnectorConfig.java
index 62d4973..eb0a63c 100644
--- a/connectors/camel-fhir-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/fhirsink/CamelFhirsinkSinkConnectorConfig.java
+++ b/connectors/camel-fhir-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/fhirsink/CamelFhirsinkSinkConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.fhirsink;
+ */package org.apache.camel.kafkaconnector.fhirsink;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-fhir-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/fhirsink/CamelFhirsinkSinkTask.java b/connectors/camel-fhir-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/fhirsink/CamelFhirsinkSinkTask.java
index 43984f8..cae243b 100644
--- a/connectors/camel-fhir-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/fhirsink/CamelFhirsinkSinkTask.java
+++ b/connectors/camel-fhir-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/fhirsink/CamelFhirsinkSinkTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.fhirsink;
+ */package org.apache.camel.kafkaconnector.fhirsink;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-fhir-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/fhirsource/CamelFhirsourceSourceConnector.java b/connectors/camel-fhir-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/fhirsource/CamelFhirsourceSourceConnector.java
index b1c9972..78174cd 100644
--- a/connectors/camel-fhir-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/fhirsource/CamelFhirsourceSourceConnector.java
+++ b/connectors/camel-fhir-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/fhirsource/CamelFhirsourceSourceConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.fhirsource;
+ */package org.apache.camel.kafkaconnector.fhirsource;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSourceConnector;
diff --git a/connectors/camel-fhir-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/fhirsource/CamelFhirsourceSourceConnectorConfig.java b/connectors/camel-fhir-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/fhirsource/CamelFhirsourceSourceConnectorConfig.java
index 10e0a3f..2724528 100644
--- a/connectors/camel-fhir-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/fhirsource/CamelFhirsourceSourceConnectorConfig.java
+++ b/connectors/camel-fhir-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/fhirsource/CamelFhirsourceSourceConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.fhirsource;
+ */package org.apache.camel.kafkaconnector.fhirsource;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-fhir-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/fhirsource/CamelFhirsourceSourceTask.java b/connectors/camel-fhir-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/fhirsource/CamelFhirsourceSourceTask.java
index b80c4e7..d42db6d 100644
--- a/connectors/camel-fhir-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/fhirsource/CamelFhirsourceSourceTask.java
+++ b/connectors/camel-fhir-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/fhirsource/CamelFhirsourceSourceTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.fhirsource;
+ */package org.apache.camel.kafkaconnector.fhirsource;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-file-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/file/CamelFileSinkConnector.java b/connectors/camel-file-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/file/CamelFileSinkConnector.java
index e4f5b8c..fce6c20 100644
--- a/connectors/camel-file-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/file/CamelFileSinkConnector.java
+++ b/connectors/camel-file-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/file/CamelFileSinkConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.file;
+ */package org.apache.camel.kafkaconnector.file;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSinkConnector;
diff --git a/connectors/camel-file-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/file/CamelFileSinkConnectorConfig.java b/connectors/camel-file-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/file/CamelFileSinkConnectorConfig.java
index 27c118c..3194183 100644
--- a/connectors/camel-file-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/file/CamelFileSinkConnectorConfig.java
+++ b/connectors/camel-file-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/file/CamelFileSinkConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.file;
+ */package org.apache.camel.kafkaconnector.file;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-file-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/file/CamelFileSinkTask.java b/connectors/camel-file-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/file/CamelFileSinkTask.java
index 23eb2b6..f130a28 100644
--- a/connectors/camel-file-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/file/CamelFileSinkTask.java
+++ b/connectors/camel-file-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/file/CamelFileSinkTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.file;
+ */package org.apache.camel.kafkaconnector.file;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-file-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/file/CamelFileSourceConnector.java b/connectors/camel-file-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/file/CamelFileSourceConnector.java
index eaa7b53..a21a97e 100644
--- a/connectors/camel-file-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/file/CamelFileSourceConnector.java
+++ b/connectors/camel-file-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/file/CamelFileSourceConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.file;
+ */package org.apache.camel.kafkaconnector.file;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSourceConnector;
diff --git a/connectors/camel-file-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/file/CamelFileSourceConnectorConfig.java b/connectors/camel-file-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/file/CamelFileSourceConnectorConfig.java
index ead0aa0..4d0dd25 100644
--- a/connectors/camel-file-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/file/CamelFileSourceConnectorConfig.java
+++ b/connectors/camel-file-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/file/CamelFileSourceConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.file;
+ */package org.apache.camel.kafkaconnector.file;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-file-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/file/CamelFileSourceTask.java b/connectors/camel-file-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/file/CamelFileSourceTask.java
index 77a8400..09efe9d 100644
--- a/connectors/camel-file-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/file/CamelFileSourceTask.java
+++ b/connectors/camel-file-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/file/CamelFileSourceTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.file;
+ */package org.apache.camel.kafkaconnector.file;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-file-watch-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/filewatchsource/CamelFilewatchsourceSourceConnector.java b/connectors/camel-file-watch-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/filewatchsource/CamelFilewatchsourceSourceConnector.java
index 9dcb45f..9881157 100644
--- a/connectors/camel-file-watch-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/filewatchsource/CamelFilewatchsourceSourceConnector.java
+++ b/connectors/camel-file-watch-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/filewatchsource/CamelFilewatchsourceSourceConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.filewatchsource;
+ */package org.apache.camel.kafkaconnector.filewatchsource;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSourceConnector;
diff --git a/connectors/camel-file-watch-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/filewatchsource/CamelFilewatchsourceSourceConnectorConfig.java b/connectors/camel-file-watch-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/filewatchsource/CamelFilewatchsourceSourceConnectorConfig.java
index 1ce99b4..03bee68 100644
--- a/connectors/camel-file-watch-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/filewatchsource/CamelFilewatchsourceSourceConnectorConfig.java
+++ b/connectors/camel-file-watch-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/filewatchsource/CamelFilewatchsourceSourceConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.filewatchsource;
+ */package org.apache.camel.kafkaconnector.filewatchsource;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-file-watch-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/filewatchsource/CamelFilewatchsourceSourceTask.java b/connectors/camel-file-watch-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/filewatchsource/CamelFilewatchsourceSourceTask.java
index f4c2816..fa819d7 100644
--- a/connectors/camel-file-watch-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/filewatchsource/CamelFilewatchsourceSourceTask.java
+++ b/connectors/camel-file-watch-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/filewatchsource/CamelFilewatchsourceSourceTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.filewatchsource;
+ */package org.apache.camel.kafkaconnector.filewatchsource;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-ftp-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/ftpsink/CamelFtpsinkSinkConnector.java b/connectors/camel-ftp-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/ftpsink/CamelFtpsinkSinkConnector.java
index d66df2b..12dfbb9 100644
--- a/connectors/camel-ftp-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/ftpsink/CamelFtpsinkSinkConnector.java
+++ b/connectors/camel-ftp-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/ftpsink/CamelFtpsinkSinkConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.ftpsink;
+ */package org.apache.camel.kafkaconnector.ftpsink;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSinkConnector;
diff --git a/connectors/camel-ftp-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/ftpsink/CamelFtpsinkSinkConnectorConfig.java b/connectors/camel-ftp-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/ftpsink/CamelFtpsinkSinkConnectorConfig.java
index 14fa17e..9b784de 100644
--- a/connectors/camel-ftp-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/ftpsink/CamelFtpsinkSinkConnectorConfig.java
+++ b/connectors/camel-ftp-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/ftpsink/CamelFtpsinkSinkConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.ftpsink;
+ */package org.apache.camel.kafkaconnector.ftpsink;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-ftp-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/ftpsink/CamelFtpsinkSinkTask.java b/connectors/camel-ftp-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/ftpsink/CamelFtpsinkSinkTask.java
index cd63046..ebd10aa 100644
--- a/connectors/camel-ftp-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/ftpsink/CamelFtpsinkSinkTask.java
+++ b/connectors/camel-ftp-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/ftpsink/CamelFtpsinkSinkTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.ftpsink;
+ */package org.apache.camel.kafkaconnector.ftpsink;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-ftp-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/ftpsource/CamelFtpsourceSourceConnector.java b/connectors/camel-ftp-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/ftpsource/CamelFtpsourceSourceConnector.java
index 73b1e81..5fcdd91 100644
--- a/connectors/camel-ftp-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/ftpsource/CamelFtpsourceSourceConnector.java
+++ b/connectors/camel-ftp-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/ftpsource/CamelFtpsourceSourceConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.ftpsource;
+ */package org.apache.camel.kafkaconnector.ftpsource;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSourceConnector;
diff --git a/connectors/camel-ftp-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/ftpsource/CamelFtpsourceSourceConnectorConfig.java b/connectors/camel-ftp-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/ftpsource/CamelFtpsourceSourceConnectorConfig.java
index ff29611..854971b 100644
--- a/connectors/camel-ftp-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/ftpsource/CamelFtpsourceSourceConnectorConfig.java
+++ b/connectors/camel-ftp-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/ftpsource/CamelFtpsourceSourceConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.ftpsource;
+ */package org.apache.camel.kafkaconnector.ftpsource;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-ftp-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/ftpsource/CamelFtpsourceSourceTask.java b/connectors/camel-ftp-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/ftpsource/CamelFtpsourceSourceTask.java
index fb5650b..ac12456 100644
--- a/connectors/camel-ftp-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/ftpsource/CamelFtpsourceSourceTask.java
+++ b/connectors/camel-ftp-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/ftpsource/CamelFtpsourceSourceTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.ftpsource;
+ */package org.apache.camel.kafkaconnector.ftpsource;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-ftps-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/ftpssink/CamelFtpssinkSinkConnector.java b/connectors/camel-ftps-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/ftpssink/CamelFtpssinkSinkConnector.java
index 2a24a5f..24ef01f 100644
--- a/connectors/camel-ftps-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/ftpssink/CamelFtpssinkSinkConnector.java
+++ b/connectors/camel-ftps-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/ftpssink/CamelFtpssinkSinkConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.ftpssink;
+ */package org.apache.camel.kafkaconnector.ftpssink;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSinkConnector;
diff --git a/connectors/camel-ftps-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/ftpssink/CamelFtpssinkSinkConnectorConfig.java b/connectors/camel-ftps-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/ftpssink/CamelFtpssinkSinkConnectorConfig.java
index e1210f4..322bb45 100644
--- a/connectors/camel-ftps-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/ftpssink/CamelFtpssinkSinkConnectorConfig.java
+++ b/connectors/camel-ftps-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/ftpssink/CamelFtpssinkSinkConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.ftpssink;
+ */package org.apache.camel.kafkaconnector.ftpssink;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-ftps-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/ftpssink/CamelFtpssinkSinkTask.java b/connectors/camel-ftps-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/ftpssink/CamelFtpssinkSinkTask.java
index af46a7e..97a4061 100644
--- a/connectors/camel-ftps-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/ftpssink/CamelFtpssinkSinkTask.java
+++ b/connectors/camel-ftps-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/ftpssink/CamelFtpssinkSinkTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.ftpssink;
+ */package org.apache.camel.kafkaconnector.ftpssink;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-ftps-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/ftpssource/CamelFtpssourceSourceConnector.java b/connectors/camel-ftps-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/ftpssource/CamelFtpssourceSourceConnector.java
index 3bc9d6b..e72b60a 100644
--- a/connectors/camel-ftps-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/ftpssource/CamelFtpssourceSourceConnector.java
+++ b/connectors/camel-ftps-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/ftpssource/CamelFtpssourceSourceConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.ftpssource;
+ */package org.apache.camel.kafkaconnector.ftpssource;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSourceConnector;
diff --git a/connectors/camel-ftps-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/ftpssource/CamelFtpssourceSourceConnectorConfig.java b/connectors/camel-ftps-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/ftpssource/CamelFtpssourceSourceConnectorConfig.java
index 375eb6e..e1b9b3b 100644
--- a/connectors/camel-ftps-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/ftpssource/CamelFtpssourceSourceConnectorConfig.java
+++ b/connectors/camel-ftps-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/ftpssource/CamelFtpssourceSourceConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.ftpssource;
+ */package org.apache.camel.kafkaconnector.ftpssource;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-ftps-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/ftpssource/CamelFtpssourceSourceTask.java b/connectors/camel-ftps-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/ftpssource/CamelFtpssourceSourceTask.java
index dcf9fa4..9079fe7 100644
--- a/connectors/camel-ftps-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/ftpssource/CamelFtpssourceSourceTask.java
+++ b/connectors/camel-ftps-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/ftpssource/CamelFtpssourceSourceTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.ftpssource;
+ */package org.apache.camel.kafkaconnector.ftpssource;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-github-commit-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/githubcommitsource/CamelGithubcommitsourceSourceConnector.java b/connectors/camel-github-commit-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/githubcommitsource/CamelGithubcommitsourceSourceConnector.java
index 317fdfd..1a694ae 100644
--- a/connectors/camel-github-commit-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/githubcommitsource/CamelGithubcommitsourceSourceConnector.java
+++ b/connectors/camel-github-commit-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/githubcommitsource/CamelGithubcommitsourceSourceConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.githubcommitsource;
+ */package org.apache.camel.kafkaconnector.githubcommitsource;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSourceConnector;
diff --git a/connectors/camel-github-commit-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/githubcommitsource/CamelGithubcommitsourceSourceConnectorConfig.java b/connectors/camel-github-commit-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/githubcommitsource/CamelGithubcommitsourceSourceConnectorConfig.java
index fba08e9..a4b77fa 100644
--- a/connectors/camel-github-commit-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/githubcommitsource/CamelGithubcommitsourceSourceConnectorConfig.java
+++ b/connectors/camel-github-commit-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/githubcommitsource/CamelGithubcommitsourceSourceConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.githubcommitsource;
+ */package org.apache.camel.kafkaconnector.githubcommitsource;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-github-commit-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/githubcommitsource/CamelGithubcommitsourceSourceTask.java b/connectors/camel-github-commit-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/githubcommitsource/CamelGithubcommitsourceSourceTask.java
index dc362a4..ebf01fd 100644
--- a/connectors/camel-github-commit-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/githubcommitsource/CamelGithubcommitsourceSourceTask.java
+++ b/connectors/camel-github-commit-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/githubcommitsource/CamelGithubcommitsourceSourceTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.githubcommitsource;
+ */package org.apache.camel.kafkaconnector.githubcommitsource;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-github-event-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/githubeventsource/CamelGithubeventsourceSourceConnector.java b/connectors/camel-github-event-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/githubeventsource/CamelGithubeventsourceSourceConnector.java
index 3e8e688..5e9d8de 100644
--- a/connectors/camel-github-event-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/githubeventsource/CamelGithubeventsourceSourceConnector.java
+++ b/connectors/camel-github-event-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/githubeventsource/CamelGithubeventsourceSourceConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.githubeventsource;
+ */package org.apache.camel.kafkaconnector.githubeventsource;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSourceConnector;
diff --git a/connectors/camel-github-event-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/githubeventsource/CamelGithubeventsourceSourceConnectorConfig.java b/connectors/camel-github-event-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/githubeventsource/CamelGithubeventsourceSourceConnectorConfig.java
index cef7c78..5179b10 100644
--- a/connectors/camel-github-event-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/githubeventsource/CamelGithubeventsourceSourceConnectorConfig.java
+++ b/connectors/camel-github-event-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/githubeventsource/CamelGithubeventsourceSourceConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.githubeventsource;
+ */package org.apache.camel.kafkaconnector.githubeventsource;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-github-event-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/githubeventsource/CamelGithubeventsourceSourceTask.java b/connectors/camel-github-event-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/githubeventsource/CamelGithubeventsourceSourceTask.java
index d3586a9..64b6852 100644
--- a/connectors/camel-github-event-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/githubeventsource/CamelGithubeventsourceSourceTask.java
+++ b/connectors/camel-github-event-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/githubeventsource/CamelGithubeventsourceSourceTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.githubeventsource;
+ */package org.apache.camel.kafkaconnector.githubeventsource;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-github-pullrequest-comment-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/githubpullrequestcommentsource/CamelGithubpullrequestcommentsourceSourceConnector.java b/connectors/camel-github-pullrequest-comment-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/githubpullrequestcommentsource/CamelGithubpullrequestcommentsourceSourceConnector.java
index 4a7edb1..1f909d4 100644
--- a/connectors/camel-github-pullrequest-comment-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/githubpullrequestcommentsource/CamelGithubpullrequestcommentsourceSourceConnector.java
+++ b/connectors/camel-github-pullrequest-comment-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/githubpullrequestcommentsource/CamelGithubpullrequestcommentsourceSourceConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.githubpullrequestcommentsource;
+ */package org.apache.camel.kafkaconnector.githubpullrequestcommentsource;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSourceConnector;
diff --git a/connectors/camel-github-pullrequest-comment-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/githubpullrequestcommentsource/CamelGithubpullrequestcommentsourceSourceConnectorConfig.java b/connectors/camel-github-pullrequest-comment-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/githubpullrequestcommentsource/CamelGithubpullrequestcommentsourceSourceConnectorConfig.java
index 7e6f610..06e934b 100644
--- a/connectors/camel-github-pullrequest-comment-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/githubpullrequestcommentsource/CamelGithubpullrequestcommentsourceSourceConnectorConfig.java
+++ b/connectors/camel-github-pullrequest-comment-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/githubpullrequestcommentsource/CamelGithubpullrequestcommentsourceSourceConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.githubpullrequestcommentsource;
+ */package org.apache.camel.kafkaconnector.githubpullrequestcommentsource;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-github-pullrequest-comment-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/githubpullrequestcommentsource/CamelGithubpullrequestcommentsourceSourceTask.java b/connectors/camel-github-pullrequest-comment-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/githubpullrequestcommentsource/CamelGithubpullrequestcommentsourceSourceTask.java
index b0feca3..775f430 100644
--- a/connectors/camel-github-pullrequest-comment-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/githubpullrequestcommentsource/CamelGithubpullrequestcommentsourceSourceTask.java
+++ b/connectors/camel-github-pullrequest-comment-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/githubpullrequestcommentsource/CamelGithubpullrequestcommentsourceSourceTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.githubpullrequestcommentsource;
+ */package org.apache.camel.kafkaconnector.githubpullrequestcommentsource;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-github-pullrequest-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/githubpullrequestsource/CamelGithubpullrequestsourceSourceConnector.java b/connectors/camel-github-pullrequest-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/githubpullrequestsource/CamelGithubpullrequestsourceSourceConnector.java
index ba38227..9a03c6a 100644
--- a/connectors/camel-github-pullrequest-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/githubpullrequestsource/CamelGithubpullrequestsourceSourceConnector.java
+++ b/connectors/camel-github-pullrequest-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/githubpullrequestsource/CamelGithubpullrequestsourceSourceConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.githubpullrequestsource;
+ */package org.apache.camel.kafkaconnector.githubpullrequestsource;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSourceConnector;
diff --git a/connectors/camel-github-pullrequest-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/githubpullrequestsource/CamelGithubpullrequestsourceSourceConnectorConfig.java b/connectors/camel-github-pullrequest-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/githubpullrequestsource/CamelGithubpullrequestsourceSourceConnectorConfig.java
index 6ed26c9..82c4c91 100644
--- a/connectors/camel-github-pullrequest-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/githubpullrequestsource/CamelGithubpullrequestsourceSourceConnectorConfig.java
+++ b/connectors/camel-github-pullrequest-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/githubpullrequestsource/CamelGithubpullrequestsourceSourceConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.githubpullrequestsource;
+ */package org.apache.camel.kafkaconnector.githubpullrequestsource;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-github-pullrequest-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/githubpullrequestsource/CamelGithubpullrequestsourceSourceTask.java b/connectors/camel-github-pullrequest-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/githubpullrequestsource/CamelGithubpullrequestsourceSourceTask.java
index 0452a7a..b8205da 100644
--- a/connectors/camel-github-pullrequest-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/githubpullrequestsource/CamelGithubpullrequestsourceSourceTask.java
+++ b/connectors/camel-github-pullrequest-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/githubpullrequestsource/CamelGithubpullrequestsourceSourceTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.githubpullrequestsource;
+ */package org.apache.camel.kafkaconnector.githubpullrequestsource;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-github-tag-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/githubtagsource/CamelGithubtagsourceSourceConnector.java b/connectors/camel-github-tag-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/githubtagsource/CamelGithubtagsourceSourceConnector.java
index bcb6c98..59fc363 100644
--- a/connectors/camel-github-tag-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/githubtagsource/CamelGithubtagsourceSourceConnector.java
+++ b/connectors/camel-github-tag-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/githubtagsource/CamelGithubtagsourceSourceConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.githubtagsource;
+ */package org.apache.camel.kafkaconnector.githubtagsource;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSourceConnector;
diff --git a/connectors/camel-github-tag-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/githubtagsource/CamelGithubtagsourceSourceConnectorConfig.java b/connectors/camel-github-tag-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/githubtagsource/CamelGithubtagsourceSourceConnectorConfig.java
index ba557a3..a05751d 100644
--- a/connectors/camel-github-tag-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/githubtagsource/CamelGithubtagsourceSourceConnectorConfig.java
+++ b/connectors/camel-github-tag-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/githubtagsource/CamelGithubtagsourceSourceConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.githubtagsource;
+ */package org.apache.camel.kafkaconnector.githubtagsource;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-github-tag-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/githubtagsource/CamelGithubtagsourceSourceTask.java b/connectors/camel-github-tag-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/githubtagsource/CamelGithubtagsourceSourceTask.java
index 9c11b26..d72d300 100644
--- a/connectors/camel-github-tag-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/githubtagsource/CamelGithubtagsourceSourceTask.java
+++ b/connectors/camel-github-tag-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/githubtagsource/CamelGithubtagsourceSourceTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.githubtagsource;
+ */package org.apache.camel.kafkaconnector.githubtagsource;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-google-bigquery-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/googlebigquerysink/CamelGooglebigquerysinkSinkConnector.java b/connectors/camel-google-bigquery-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/googlebigquerysink/CamelGooglebigquerysinkSinkConnector.java
index 3c2af60..5affee2 100644
--- a/connectors/camel-google-bigquery-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/googlebigquerysink/CamelGooglebigquerysinkSinkConnector.java
+++ b/connectors/camel-google-bigquery-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/googlebigquerysink/CamelGooglebigquerysinkSinkConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.googlebigquerysink;
+ */package org.apache.camel.kafkaconnector.googlebigquerysink;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSinkConnector;
diff --git a/connectors/camel-google-bigquery-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/googlebigquerysink/CamelGooglebigquerysinkSinkConnectorConfig.java b/connectors/camel-google-bigquery-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/googlebigquerysink/CamelGooglebigquerysinkSinkConnectorConfig.java
index fde919c..aa6c90c 100644
--- a/connectors/camel-google-bigquery-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/googlebigquerysink/CamelGooglebigquerysinkSinkConnectorConfig.java
+++ b/connectors/camel-google-bigquery-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/googlebigquerysink/CamelGooglebigquerysinkSinkConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.googlebigquerysink;
+ */package org.apache.camel.kafkaconnector.googlebigquerysink;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-google-bigquery-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/googlebigquerysink/CamelGooglebigquerysinkSinkTask.java b/connectors/camel-google-bigquery-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/googlebigquerysink/CamelGooglebigquerysinkSinkTask.java
index db5cb2a..ad95b84 100644
--- a/connectors/camel-google-bigquery-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/googlebigquerysink/CamelGooglebigquerysinkSinkTask.java
+++ b/connectors/camel-google-bigquery-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/googlebigquerysink/CamelGooglebigquerysinkSinkTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.googlebigquerysink;
+ */package org.apache.camel.kafkaconnector.googlebigquerysink;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-google-calendar-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/googlecalendarsource/CamelGooglecalendarsourceSourceConnector.java b/connectors/camel-google-calendar-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/googlecalendarsource/CamelGooglecalendarsourceSourceConnector.java
index fb231a1..afc0f1a 100644
--- a/connectors/camel-google-calendar-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/googlecalendarsource/CamelGooglecalendarsourceSourceConnector.java
+++ b/connectors/camel-google-calendar-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/googlecalendarsource/CamelGooglecalendarsourceSourceConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.googlecalendarsource;
+ */package org.apache.camel.kafkaconnector.googlecalendarsource;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSourceConnector;
diff --git a/connectors/camel-google-calendar-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/googlecalendarsource/CamelGooglecalendarsourceSourceConnectorConfig.java b/connectors/camel-google-calendar-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/googlecalendarsource/CamelGooglecalendarsourceSourceConnectorConfig.java
index 26350fb..b143013 100644
--- a/connectors/camel-google-calendar-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/googlecalendarsource/CamelGooglecalendarsourceSourceConnectorConfig.java
+++ b/connectors/camel-google-calendar-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/googlecalendarsource/CamelGooglecalendarsourceSourceConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.googlecalendarsource;
+ */package org.apache.camel.kafkaconnector.googlecalendarsource;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-google-calendar-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/googlecalendarsource/CamelGooglecalendarsourceSourceTask.java b/connectors/camel-google-calendar-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/googlecalendarsource/CamelGooglecalendarsourceSourceTask.java
index 8895a04..91df3c9 100644
--- a/connectors/camel-google-calendar-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/googlecalendarsource/CamelGooglecalendarsourceSourceTask.java
+++ b/connectors/camel-google-calendar-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/googlecalendarsource/CamelGooglecalendarsourceSourceTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.googlecalendarsource;
+ */package org.apache.camel.kafkaconnector.googlecalendarsource;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-google-functions-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/googlefunctionssink/CamelGooglefunctionssinkSinkConnector.java b/connectors/camel-google-functions-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/googlefunctionssink/CamelGooglefunctionssinkSinkConnector.java
index c0cbbd2..4e3741c 100644
--- a/connectors/camel-google-functions-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/googlefunctionssink/CamelGooglefunctionssinkSinkConnector.java
+++ b/connectors/camel-google-functions-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/googlefunctionssink/CamelGooglefunctionssinkSinkConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.googlefunctionssink;
+ */package org.apache.camel.kafkaconnector.googlefunctionssink;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSinkConnector;
diff --git a/connectors/camel-google-functions-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/googlefunctionssink/CamelGooglefunctionssinkSinkConnectorConfig.java b/connectors/camel-google-functions-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/googlefunctionssink/CamelGooglefunctionssinkSinkConnectorConfig.java
index 9e45989..c81ea59 100644
--- a/connectors/camel-google-functions-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/googlefunctionssink/CamelGooglefunctionssinkSinkConnectorConfig.java
+++ b/connectors/camel-google-functions-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/googlefunctionssink/CamelGooglefunctionssinkSinkConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.googlefunctionssink;
+ */package org.apache.camel.kafkaconnector.googlefunctionssink;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-google-functions-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/googlefunctionssink/CamelGooglefunctionssinkSinkTask.java b/connectors/camel-google-functions-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/googlefunctionssink/CamelGooglefunctionssinkSinkTask.java
index cdc1fac..9b962b6 100644
--- a/connectors/camel-google-functions-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/googlefunctionssink/CamelGooglefunctionssinkSinkTask.java
+++ b/connectors/camel-google-functions-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/googlefunctionssink/CamelGooglefunctionssinkSinkTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.googlefunctionssink;
+ */package org.apache.camel.kafkaconnector.googlefunctionssink;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-google-mail-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/googlemailsource/CamelGooglemailsourceSourceConnector.java b/connectors/camel-google-mail-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/googlemailsource/CamelGooglemailsourceSourceConnector.java
index ff59c3a..e5ae6f9 100644
--- a/connectors/camel-google-mail-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/googlemailsource/CamelGooglemailsourceSourceConnector.java
+++ b/connectors/camel-google-mail-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/googlemailsource/CamelGooglemailsourceSourceConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.googlemailsource;
+ */package org.apache.camel.kafkaconnector.googlemailsource;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSourceConnector;
diff --git a/connectors/camel-google-mail-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/googlemailsource/CamelGooglemailsourceSourceConnectorConfig.java b/connectors/camel-google-mail-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/googlemailsource/CamelGooglemailsourceSourceConnectorConfig.java
index fb38a8a..40b1a43 100644
--- a/connectors/camel-google-mail-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/googlemailsource/CamelGooglemailsourceSourceConnectorConfig.java
+++ b/connectors/camel-google-mail-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/googlemailsource/CamelGooglemailsourceSourceConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.googlemailsource;
+ */package org.apache.camel.kafkaconnector.googlemailsource;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-google-mail-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/googlemailsource/CamelGooglemailsourceSourceTask.java b/connectors/camel-google-mail-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/googlemailsource/CamelGooglemailsourceSourceTask.java
index 9186b00..f981a26 100644
--- a/connectors/camel-google-mail-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/googlemailsource/CamelGooglemailsourceSourceTask.java
+++ b/connectors/camel-google-mail-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/googlemailsource/CamelGooglemailsourceSourceTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.googlemailsource;
+ */package org.apache.camel.kafkaconnector.googlemailsource;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-google-pubsub-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/googlepubsubsink/CamelGooglepubsubsinkSinkConnector.java b/connectors/camel-google-pubsub-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/googlepubsubsink/CamelGooglepubsubsinkSinkConnector.java
index bc33098..2596870 100644
--- a/connectors/camel-google-pubsub-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/googlepubsubsink/CamelGooglepubsubsinkSinkConnector.java
+++ b/connectors/camel-google-pubsub-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/googlepubsubsink/CamelGooglepubsubsinkSinkConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.googlepubsubsink;
+ */package org.apache.camel.kafkaconnector.googlepubsubsink;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSinkConnector;
diff --git a/connectors/camel-google-pubsub-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/googlepubsubsink/CamelGooglepubsubsinkSinkConnectorConfig.java b/connectors/camel-google-pubsub-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/googlepubsubsink/CamelGooglepubsubsinkSinkConnectorConfig.java
index a639baf..5b2b9dc 100644
--- a/connectors/camel-google-pubsub-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/googlepubsubsink/CamelGooglepubsubsinkSinkConnectorConfig.java
+++ b/connectors/camel-google-pubsub-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/googlepubsubsink/CamelGooglepubsubsinkSinkConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.googlepubsubsink;
+ */package org.apache.camel.kafkaconnector.googlepubsubsink;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-google-pubsub-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/googlepubsubsink/CamelGooglepubsubsinkSinkTask.java b/connectors/camel-google-pubsub-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/googlepubsubsink/CamelGooglepubsubsinkSinkTask.java
index ed8ad8b..7562d2a 100644
--- a/connectors/camel-google-pubsub-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/googlepubsubsink/CamelGooglepubsubsinkSinkTask.java
+++ b/connectors/camel-google-pubsub-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/googlepubsubsink/CamelGooglepubsubsinkSinkTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.googlepubsubsink;
+ */package org.apache.camel.kafkaconnector.googlepubsubsink;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-google-pubsub-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/googlepubsubsource/CamelGooglepubsubsourceSourceConnector.java b/connectors/camel-google-pubsub-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/googlepubsubsource/CamelGooglepubsubsourceSourceConnector.java
index 4fcea3f..9915933 100644
--- a/connectors/camel-google-pubsub-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/googlepubsubsource/CamelGooglepubsubsourceSourceConnector.java
+++ b/connectors/camel-google-pubsub-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/googlepubsubsource/CamelGooglepubsubsourceSourceConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.googlepubsubsource;
+ */package org.apache.camel.kafkaconnector.googlepubsubsource;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSourceConnector;
diff --git a/connectors/camel-google-pubsub-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/googlepubsubsource/CamelGooglepubsubsourceSourceConnectorConfig.java b/connectors/camel-google-pubsub-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/googlepubsubsource/CamelGooglepubsubsourceSourceConnectorConfig.java
index cb247be..eab3b15 100644
--- a/connectors/camel-google-pubsub-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/googlepubsubsource/CamelGooglepubsubsourceSourceConnectorConfig.java
+++ b/connectors/camel-google-pubsub-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/googlepubsubsource/CamelGooglepubsubsourceSourceConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.googlepubsubsource;
+ */package org.apache.camel.kafkaconnector.googlepubsubsource;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-google-pubsub-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/googlepubsubsource/CamelGooglepubsubsourceSourceTask.java b/connectors/camel-google-pubsub-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/googlepubsubsource/CamelGooglepubsubsourceSourceTask.java
index 9039826..3e58084 100644
--- a/connectors/camel-google-pubsub-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/googlepubsubsource/CamelGooglepubsubsourceSourceTask.java
+++ b/connectors/camel-google-pubsub-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/googlepubsubsource/CamelGooglepubsubsourceSourceTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.googlepubsubsource;
+ */package org.apache.camel.kafkaconnector.googlepubsubsource;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-google-sheets-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/googlesheetssource/CamelGooglesheetssourceSourceConnector.java b/connectors/camel-google-sheets-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/googlesheetssource/CamelGooglesheetssourceSourceConnector.java
index f4e90d4..07492ee 100644
--- a/connectors/camel-google-sheets-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/googlesheetssource/CamelGooglesheetssourceSourceConnector.java
+++ b/connectors/camel-google-sheets-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/googlesheetssource/CamelGooglesheetssourceSourceConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.googlesheetssource;
+ */package org.apache.camel.kafkaconnector.googlesheetssource;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSourceConnector;
diff --git a/connectors/camel-google-sheets-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/googlesheetssource/CamelGooglesheetssourceSourceConnectorConfig.java b/connectors/camel-google-sheets-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/googlesheetssource/CamelGooglesheetssourceSourceConnectorConfig.java
index 0a9a954..2ea8e5d 100644
--- a/connectors/camel-google-sheets-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/googlesheetssource/CamelGooglesheetssourceSourceConnectorConfig.java
+++ b/connectors/camel-google-sheets-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/googlesheetssource/CamelGooglesheetssourceSourceConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.googlesheetssource;
+ */package org.apache.camel.kafkaconnector.googlesheetssource;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-google-sheets-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/googlesheetssource/CamelGooglesheetssourceSourceTask.java b/connectors/camel-google-sheets-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/googlesheetssource/CamelGooglesheetssourceSourceTask.java
index ba8a9c7..bda7bd4 100644
--- a/connectors/camel-google-sheets-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/googlesheetssource/CamelGooglesheetssourceSourceTask.java
+++ b/connectors/camel-google-sheets-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/googlesheetssource/CamelGooglesheetssourceSourceTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.googlesheetssource;
+ */package org.apache.camel.kafkaconnector.googlesheetssource;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-google-storage-cdc-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/googlestoragecdcsource/CamelGooglestoragecdcsourceSourceConnector.java b/connectors/camel-google-storage-cdc-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/googlestoragecdcsource/CamelGooglestoragecdcsourceSourceConnector.java
index 3d0cf26..5ee2392 100644
--- a/connectors/camel-google-storage-cdc-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/googlestoragecdcsource/CamelGooglestoragecdcsourceSourceConnector.java
+++ b/connectors/camel-google-storage-cdc-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/googlestoragecdcsource/CamelGooglestoragecdcsourceSourceConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.googlestoragecdcsource;
+ */package org.apache.camel.kafkaconnector.googlestoragecdcsource;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSourceConnector;
diff --git a/connectors/camel-google-storage-cdc-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/googlestoragecdcsource/CamelGooglestoragecdcsourceSourceConnectorConfig.java b/connectors/camel-google-storage-cdc-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/googlestoragecdcsource/CamelGooglestoragecdcsourceSourceConnectorConfig.java
index 92438aa..689c062 100644
--- a/connectors/camel-google-storage-cdc-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/googlestoragecdcsource/CamelGooglestoragecdcsourceSourceConnectorConfig.java
+++ b/connectors/camel-google-storage-cdc-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/googlestoragecdcsource/CamelGooglestoragecdcsourceSourceConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.googlestoragecdcsource;
+ */package org.apache.camel.kafkaconnector.googlestoragecdcsource;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-google-storage-cdc-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/googlestoragecdcsource/CamelGooglestoragecdcsourceSourceTask.java b/connectors/camel-google-storage-cdc-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/googlestoragecdcsource/CamelGooglestoragecdcsourceSourceTask.java
index 6fa43c0..4672b2a 100644
--- a/connectors/camel-google-storage-cdc-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/googlestoragecdcsource/CamelGooglestoragecdcsourceSourceTask.java
+++ b/connectors/camel-google-storage-cdc-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/googlestoragecdcsource/CamelGooglestoragecdcsourceSourceTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.googlestoragecdcsource;
+ */package org.apache.camel.kafkaconnector.googlestoragecdcsource;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-google-storage-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/googlestoragesink/CamelGooglestoragesinkSinkConnector.java b/connectors/camel-google-storage-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/googlestoragesink/CamelGooglestoragesinkSinkConnector.java
index 9bea2ce..d43559d 100644
--- a/connectors/camel-google-storage-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/googlestoragesink/CamelGooglestoragesinkSinkConnector.java
+++ b/connectors/camel-google-storage-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/googlestoragesink/CamelGooglestoragesinkSinkConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.googlestoragesink;
+ */package org.apache.camel.kafkaconnector.googlestoragesink;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSinkConnector;
diff --git a/connectors/camel-google-storage-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/googlestoragesink/CamelGooglestoragesinkSinkConnectorConfig.java b/connectors/camel-google-storage-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/googlestoragesink/CamelGooglestoragesinkSinkConnectorConfig.java
index f37c8fc..bc91385 100644
--- a/connectors/camel-google-storage-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/googlestoragesink/CamelGooglestoragesinkSinkConnectorConfig.java
+++ b/connectors/camel-google-storage-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/googlestoragesink/CamelGooglestoragesinkSinkConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.googlestoragesink;
+ */package org.apache.camel.kafkaconnector.googlestoragesink;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-google-storage-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/googlestoragesink/CamelGooglestoragesinkSinkTask.java b/connectors/camel-google-storage-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/googlestoragesink/CamelGooglestoragesinkSinkTask.java
index bd18654..afb64f3 100644
--- a/connectors/camel-google-storage-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/googlestoragesink/CamelGooglestoragesinkSinkTask.java
+++ b/connectors/camel-google-storage-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/googlestoragesink/CamelGooglestoragesinkSinkTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.googlestoragesink;
+ */package org.apache.camel.kafkaconnector.googlestoragesink;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-google-storage-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/googlestoragesource/CamelGooglestoragesourceSourceConnector.java b/connectors/camel-google-storage-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/googlestoragesource/CamelGooglestoragesourceSourceConnector.java
index 845d491..f775c48 100644
--- a/connectors/camel-google-storage-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/googlestoragesource/CamelGooglestoragesourceSourceConnector.java
+++ b/connectors/camel-google-storage-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/googlestoragesource/CamelGooglestoragesourceSourceConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.googlestoragesource;
+ */package org.apache.camel.kafkaconnector.googlestoragesource;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSourceConnector;
diff --git a/connectors/camel-google-storage-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/googlestoragesource/CamelGooglestoragesourceSourceConnectorConfig.java b/connectors/camel-google-storage-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/googlestoragesource/CamelGooglestoragesourceSourceConnectorConfig.java
index 16df862..6a9d002 100644
--- a/connectors/camel-google-storage-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/googlestoragesource/CamelGooglestoragesourceSourceConnectorConfig.java
+++ b/connectors/camel-google-storage-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/googlestoragesource/CamelGooglestoragesourceSourceConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.googlestoragesource;
+ */package org.apache.camel.kafkaconnector.googlestoragesource;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-google-storage-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/googlestoragesource/CamelGooglestoragesourceSourceTask.java b/connectors/camel-google-storage-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/googlestoragesource/CamelGooglestoragesourceSourceTask.java
index cbdc417..8fe5d5e 100644
--- a/connectors/camel-google-storage-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/googlestoragesource/CamelGooglestoragesourceSourceTask.java
+++ b/connectors/camel-google-storage-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/googlestoragesource/CamelGooglestoragesourceSourceTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.googlestoragesource;
+ */package org.apache.camel.kafkaconnector.googlestoragesource;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-graphql-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/graphqlsink/CamelGraphqlsinkSinkConnector.java b/connectors/camel-graphql-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/graphqlsink/CamelGraphqlsinkSinkConnector.java
index 8def08f..0544cb0 100644
--- a/connectors/camel-graphql-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/graphqlsink/CamelGraphqlsinkSinkConnector.java
+++ b/connectors/camel-graphql-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/graphqlsink/CamelGraphqlsinkSinkConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.graphqlsink;
+ */package org.apache.camel.kafkaconnector.graphqlsink;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSinkConnector;
diff --git a/connectors/camel-graphql-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/graphqlsink/CamelGraphqlsinkSinkConnectorConfig.java b/connectors/camel-graphql-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/graphqlsink/CamelGraphqlsinkSinkConnectorConfig.java
index 12c221c..a836161 100644
--- a/connectors/camel-graphql-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/graphqlsink/CamelGraphqlsinkSinkConnectorConfig.java
+++ b/connectors/camel-graphql-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/graphqlsink/CamelGraphqlsinkSinkConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.graphqlsink;
+ */package org.apache.camel.kafkaconnector.graphqlsink;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-graphql-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/graphqlsink/CamelGraphqlsinkSinkTask.java b/connectors/camel-graphql-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/graphqlsink/CamelGraphqlsinkSinkTask.java
index 944c560..0b20669 100644
--- a/connectors/camel-graphql-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/graphqlsink/CamelGraphqlsinkSinkTask.java
+++ b/connectors/camel-graphql-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/graphqlsink/CamelGraphqlsinkSinkTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.graphqlsink;
+ */package org.apache.camel.kafkaconnector.graphqlsink;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-hdfs-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/hdfs/CamelHdfsSinkConnector.java b/connectors/camel-hdfs-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/hdfs/CamelHdfsSinkConnector.java
index 695d1bb..af50728 100644
--- a/connectors/camel-hdfs-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/hdfs/CamelHdfsSinkConnector.java
+++ b/connectors/camel-hdfs-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/hdfs/CamelHdfsSinkConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.hdfs;
+ */package org.apache.camel.kafkaconnector.hdfs;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSinkConnector;
diff --git a/connectors/camel-hdfs-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/hdfs/CamelHdfsSinkConnectorConfig.java b/connectors/camel-hdfs-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/hdfs/CamelHdfsSinkConnectorConfig.java
index 2490348..89a8771 100644
--- a/connectors/camel-hdfs-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/hdfs/CamelHdfsSinkConnectorConfig.java
+++ b/connectors/camel-hdfs-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/hdfs/CamelHdfsSinkConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.hdfs;
+ */package org.apache.camel.kafkaconnector.hdfs;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-hdfs-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/hdfs/CamelHdfsSinkTask.java b/connectors/camel-hdfs-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/hdfs/CamelHdfsSinkTask.java
index db5a7c3..6689291 100644
--- a/connectors/camel-hdfs-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/hdfs/CamelHdfsSinkTask.java
+++ b/connectors/camel-hdfs-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/hdfs/CamelHdfsSinkTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.hdfs;
+ */package org.apache.camel.kafkaconnector.hdfs;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-hdfs-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/hdfs/CamelHdfsSourceConnector.java b/connectors/camel-hdfs-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/hdfs/CamelHdfsSourceConnector.java
index 2c7b4c0..984240c 100644
--- a/connectors/camel-hdfs-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/hdfs/CamelHdfsSourceConnector.java
+++ b/connectors/camel-hdfs-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/hdfs/CamelHdfsSourceConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.hdfs;
+ */package org.apache.camel.kafkaconnector.hdfs;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSourceConnector;
diff --git a/connectors/camel-hdfs-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/hdfs/CamelHdfsSourceConnectorConfig.java b/connectors/camel-hdfs-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/hdfs/CamelHdfsSourceConnectorConfig.java
index 4c3af91..d8abde9 100644
--- a/connectors/camel-hdfs-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/hdfs/CamelHdfsSourceConnectorConfig.java
+++ b/connectors/camel-hdfs-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/hdfs/CamelHdfsSourceConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.hdfs;
+ */package org.apache.camel.kafkaconnector.hdfs;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-hdfs-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/hdfs/CamelHdfsSourceTask.java b/connectors/camel-hdfs-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/hdfs/CamelHdfsSourceTask.java
index d612b35..187e333 100644
--- a/connectors/camel-hdfs-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/hdfs/CamelHdfsSourceTask.java
+++ b/connectors/camel-hdfs-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/hdfs/CamelHdfsSourceTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.hdfs;
+ */package org.apache.camel.kafkaconnector.hdfs;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-http-secured-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/httpsecuredsink/CamelHttpsecuredsinkSinkConnector.java b/connectors/camel-http-secured-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/httpsecuredsink/CamelHttpsecuredsinkSinkConnector.java
index a69cf3b..5f9d5af 100644
--- a/connectors/camel-http-secured-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/httpsecuredsink/CamelHttpsecuredsinkSinkConnector.java
+++ b/connectors/camel-http-secured-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/httpsecuredsink/CamelHttpsecuredsinkSinkConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.httpsecuredsink;
+ */package org.apache.camel.kafkaconnector.httpsecuredsink;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSinkConnector;
diff --git a/connectors/camel-http-secured-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/httpsecuredsink/CamelHttpsecuredsinkSinkConnectorConfig.java b/connectors/camel-http-secured-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/httpsecuredsink/CamelHttpsecuredsinkSinkConnectorConfig.java
index a7194fb..c853ed4 100644
--- a/connectors/camel-http-secured-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/httpsecuredsink/CamelHttpsecuredsinkSinkConnectorConfig.java
+++ b/connectors/camel-http-secured-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/httpsecuredsink/CamelHttpsecuredsinkSinkConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.httpsecuredsink;
+ */package org.apache.camel.kafkaconnector.httpsecuredsink;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-http-secured-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/httpsecuredsink/CamelHttpsecuredsinkSinkTask.java b/connectors/camel-http-secured-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/httpsecuredsink/CamelHttpsecuredsinkSinkTask.java
index 023ff24..2c48185 100644
--- a/connectors/camel-http-secured-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/httpsecuredsink/CamelHttpsecuredsinkSinkTask.java
+++ b/connectors/camel-http-secured-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/httpsecuredsink/CamelHttpsecuredsinkSinkTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.httpsecuredsink;
+ */package org.apache.camel.kafkaconnector.httpsecuredsink;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-http-secured-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/httpsecuredsource/CamelHttpsecuredsourceSourceConnector.java b/connectors/camel-http-secured-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/httpsecuredsource/CamelHttpsecuredsourceSourceConnector.java
index ac48605..0ad2606 100644
--- a/connectors/camel-http-secured-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/httpsecuredsource/CamelHttpsecuredsourceSourceConnector.java
+++ b/connectors/camel-http-secured-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/httpsecuredsource/CamelHttpsecuredsourceSourceConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.httpsecuredsource;
+ */package org.apache.camel.kafkaconnector.httpsecuredsource;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSourceConnector;
diff --git a/connectors/camel-http-secured-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/httpsecuredsource/CamelHttpsecuredsourceSourceConnectorConfig.java b/connectors/camel-http-secured-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/httpsecuredsource/CamelHttpsecuredsourceSourceConnectorConfig.java
index 0cd3f40..8a86262 100644
--- a/connectors/camel-http-secured-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/httpsecuredsource/CamelHttpsecuredsourceSourceConnectorConfig.java
+++ b/connectors/camel-http-secured-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/httpsecuredsource/CamelHttpsecuredsourceSourceConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.httpsecuredsource;
+ */package org.apache.camel.kafkaconnector.httpsecuredsource;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-http-secured-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/httpsecuredsource/CamelHttpsecuredsourceSourceTask.java b/connectors/camel-http-secured-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/httpsecuredsource/CamelHttpsecuredsourceSourceTask.java
index 1770ff5..0818f56 100644
--- a/connectors/camel-http-secured-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/httpsecuredsource/CamelHttpsecuredsourceSourceTask.java
+++ b/connectors/camel-http-secured-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/httpsecuredsource/CamelHttpsecuredsourceSourceTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.httpsecuredsource;
+ */package org.apache.camel.kafkaconnector.httpsecuredsource;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-http-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/httpsink/CamelHttpsinkSinkConnector.java b/connectors/camel-http-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/httpsink/CamelHttpsinkSinkConnector.java
index 748f1d2..954a040 100644
--- a/connectors/camel-http-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/httpsink/CamelHttpsinkSinkConnector.java
+++ b/connectors/camel-http-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/httpsink/CamelHttpsinkSinkConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.httpsink;
+ */package org.apache.camel.kafkaconnector.httpsink;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSinkConnector;
diff --git a/connectors/camel-http-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/httpsink/CamelHttpsinkSinkConnectorConfig.java b/connectors/camel-http-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/httpsink/CamelHttpsinkSinkConnectorConfig.java
index 2cb7c1e..551cbbe 100644
--- a/connectors/camel-http-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/httpsink/CamelHttpsinkSinkConnectorConfig.java
+++ b/connectors/camel-http-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/httpsink/CamelHttpsinkSinkConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.httpsink;
+ */package org.apache.camel.kafkaconnector.httpsink;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-http-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/httpsink/CamelHttpsinkSinkTask.java b/connectors/camel-http-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/httpsink/CamelHttpsinkSinkTask.java
index 175c0a2..39ecccb 100644
--- a/connectors/camel-http-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/httpsink/CamelHttpsinkSinkTask.java
+++ b/connectors/camel-http-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/httpsink/CamelHttpsinkSinkTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.httpsink;
+ */package org.apache.camel.kafkaconnector.httpsink;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-http-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/httpsource/CamelHttpsourceSourceConnector.java b/connectors/camel-http-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/httpsource/CamelHttpsourceSourceConnector.java
index d015781..0e2be6b 100644
--- a/connectors/camel-http-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/httpsource/CamelHttpsourceSourceConnector.java
+++ b/connectors/camel-http-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/httpsource/CamelHttpsourceSourceConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.httpsource;
+ */package org.apache.camel.kafkaconnector.httpsource;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSourceConnector;
diff --git a/connectors/camel-http-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/httpsource/CamelHttpsourceSourceConnectorConfig.java b/connectors/camel-http-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/httpsource/CamelHttpsourceSourceConnectorConfig.java
index 9d87b1f..ffb560d 100644
--- a/connectors/camel-http-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/httpsource/CamelHttpsourceSourceConnectorConfig.java
+++ b/connectors/camel-http-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/httpsource/CamelHttpsourceSourceConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.httpsource;
+ */package org.apache.camel.kafkaconnector.httpsource;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-http-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/httpsource/CamelHttpsourceSourceTask.java b/connectors/camel-http-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/httpsource/CamelHttpsourceSourceTask.java
index 85218ff..89ebf1c 100644
--- a/connectors/camel-http-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/httpsource/CamelHttpsourceSourceTask.java
+++ b/connectors/camel-http-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/httpsource/CamelHttpsourceSourceTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.httpsource;
+ */package org.apache.camel.kafkaconnector.httpsource;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-https-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/https/CamelHttpsSinkConnector.java b/connectors/camel-https-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/https/CamelHttpsSinkConnector.java
index 0ef84e3..9d16182 100644
--- a/connectors/camel-https-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/https/CamelHttpsSinkConnector.java
+++ b/connectors/camel-https-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/https/CamelHttpsSinkConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.https;
+ */package org.apache.camel.kafkaconnector.https;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSinkConnector;
diff --git a/connectors/camel-https-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/https/CamelHttpsSinkConnectorConfig.java b/connectors/camel-https-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/https/CamelHttpsSinkConnectorConfig.java
index aef4b6c..410038f 100644
--- a/connectors/camel-https-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/https/CamelHttpsSinkConnectorConfig.java
+++ b/connectors/camel-https-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/https/CamelHttpsSinkConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.https;
+ */package org.apache.camel.kafkaconnector.https;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-https-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/https/CamelHttpsSinkTask.java b/connectors/camel-https-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/https/CamelHttpsSinkTask.java
index 8794473..6e9fa7b 100644
--- a/connectors/camel-https-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/https/CamelHttpsSinkTask.java
+++ b/connectors/camel-https-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/https/CamelHttpsSinkTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.https;
+ */package org.apache.camel.kafkaconnector.https;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-infinispan-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/infinispansink/CamelInfinispansinkSinkConnector.java b/connectors/camel-infinispan-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/infinispansink/CamelInfinispansinkSinkConnector.java
index d797d1b..fcaa674 100644
--- a/connectors/camel-infinispan-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/infinispansink/CamelInfinispansinkSinkConnector.java
+++ b/connectors/camel-infinispan-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/infinispansink/CamelInfinispansinkSinkConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.infinispansink;
+ */package org.apache.camel.kafkaconnector.infinispansink;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSinkConnector;
diff --git a/connectors/camel-infinispan-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/infinispansink/CamelInfinispansinkSinkConnectorConfig.java b/connectors/camel-infinispan-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/infinispansink/CamelInfinispansinkSinkConnectorConfig.java
index 566bed5..96f44f9 100644
--- a/connectors/camel-infinispan-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/infinispansink/CamelInfinispansinkSinkConnectorConfig.java
+++ b/connectors/camel-infinispan-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/infinispansink/CamelInfinispansinkSinkConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.infinispansink;
+ */package org.apache.camel.kafkaconnector.infinispansink;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-infinispan-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/infinispansink/CamelInfinispansinkSinkTask.java b/connectors/camel-infinispan-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/infinispansink/CamelInfinispansinkSinkTask.java
index 8216fbc..52e79ef 100644
--- a/connectors/camel-infinispan-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/infinispansink/CamelInfinispansinkSinkTask.java
+++ b/connectors/camel-infinispan-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/infinispansink/CamelInfinispansinkSinkTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.infinispansink;
+ */package org.apache.camel.kafkaconnector.infinispansink;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-infinispan-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/infinispansource/CamelInfinispansourceSourceConnector.java b/connectors/camel-infinispan-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/infinispansource/CamelInfinispansourceSourceConnector.java
index a2f6bd1..58aa398 100644
--- a/connectors/camel-infinispan-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/infinispansource/CamelInfinispansourceSourceConnector.java
+++ b/connectors/camel-infinispan-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/infinispansource/CamelInfinispansourceSourceConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.infinispansource;
+ */package org.apache.camel.kafkaconnector.infinispansource;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSourceConnector;
diff --git a/connectors/camel-infinispan-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/infinispansource/CamelInfinispansourceSourceConnectorConfig.java b/connectors/camel-infinispan-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/infinispansource/CamelInfinispansourceSourceConnectorConfig.java
index 94d94ba..9b17dd7 100644
--- a/connectors/camel-infinispan-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/infinispansource/CamelInfinispansourceSourceConnectorConfig.java
+++ b/connectors/camel-infinispan-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/infinispansource/CamelInfinispansourceSourceConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.infinispansource;
+ */package org.apache.camel.kafkaconnector.infinispansource;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-infinispan-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/infinispansource/CamelInfinispansourceSourceTask.java b/connectors/camel-infinispan-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/infinispansource/CamelInfinispansourceSourceTask.java
index f29b9a3..b4eed86 100644
--- a/connectors/camel-infinispan-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/infinispansource/CamelInfinispansourceSourceTask.java
+++ b/connectors/camel-infinispan-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/infinispansource/CamelInfinispansourceSourceTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.infinispansource;
+ */package org.apache.camel.kafkaconnector.infinispansource;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-jdbc-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jdbc/CamelJdbcSinkConnector.java b/connectors/camel-jdbc-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jdbc/CamelJdbcSinkConnector.java
index 2cd0492..d956642 100644
--- a/connectors/camel-jdbc-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jdbc/CamelJdbcSinkConnector.java
+++ b/connectors/camel-jdbc-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jdbc/CamelJdbcSinkConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.jdbc;
+ */package org.apache.camel.kafkaconnector.jdbc;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSinkConnector;
diff --git a/connectors/camel-jdbc-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jdbc/CamelJdbcSinkConnectorConfig.java b/connectors/camel-jdbc-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jdbc/CamelJdbcSinkConnectorConfig.java
index b615e82..b60efc3 100644
--- a/connectors/camel-jdbc-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jdbc/CamelJdbcSinkConnectorConfig.java
+++ b/connectors/camel-jdbc-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jdbc/CamelJdbcSinkConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.jdbc;
+ */package org.apache.camel.kafkaconnector.jdbc;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-jdbc-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jdbc/CamelJdbcSinkTask.java b/connectors/camel-jdbc-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jdbc/CamelJdbcSinkTask.java
index b607b44..a5dc983 100644
--- a/connectors/camel-jdbc-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jdbc/CamelJdbcSinkTask.java
+++ b/connectors/camel-jdbc-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jdbc/CamelJdbcSinkTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.jdbc;
+ */package org.apache.camel.kafkaconnector.jdbc;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-jira-add-comment-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jiraaddcommentsink/CamelJiraaddcommentsinkSinkConnector.java b/connectors/camel-jira-add-comment-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jiraaddcommentsink/CamelJiraaddcommentsinkSinkConnector.java
index 0c4a1c3..fd79827 100644
--- a/connectors/camel-jira-add-comment-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jiraaddcommentsink/CamelJiraaddcommentsinkSinkConnector.java
+++ b/connectors/camel-jira-add-comment-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jiraaddcommentsink/CamelJiraaddcommentsinkSinkConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.jiraaddcommentsink;
+ */package org.apache.camel.kafkaconnector.jiraaddcommentsink;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSinkConnector;
diff --git a/connectors/camel-jira-add-comment-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jiraaddcommentsink/CamelJiraaddcommentsinkSinkConnectorConfig.java b/connectors/camel-jira-add-comment-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jiraaddcommentsink/CamelJiraaddcommentsinkSinkConnectorConfig.java
index 8bbcadb..168d4b6 100644
--- a/connectors/camel-jira-add-comment-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jiraaddcommentsink/CamelJiraaddcommentsinkSinkConnectorConfig.java
+++ b/connectors/camel-jira-add-comment-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jiraaddcommentsink/CamelJiraaddcommentsinkSinkConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.jiraaddcommentsink;
+ */package org.apache.camel.kafkaconnector.jiraaddcommentsink;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-jira-add-comment-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jiraaddcommentsink/CamelJiraaddcommentsinkSinkTask.java b/connectors/camel-jira-add-comment-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jiraaddcommentsink/CamelJiraaddcommentsinkSinkTask.java
index 76b2fac..6b0376b 100644
--- a/connectors/camel-jira-add-comment-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jiraaddcommentsink/CamelJiraaddcommentsinkSinkTask.java
+++ b/connectors/camel-jira-add-comment-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jiraaddcommentsink/CamelJiraaddcommentsinkSinkTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.jiraaddcommentsink;
+ */package org.apache.camel.kafkaconnector.jiraaddcommentsink;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-jira-add-issue-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jiraaddissuesink/CamelJiraaddissuesinkSinkConnector.java b/connectors/camel-jira-add-issue-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jiraaddissuesink/CamelJiraaddissuesinkSinkConnector.java
index 7bea188..d438113 100644
--- a/connectors/camel-jira-add-issue-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jiraaddissuesink/CamelJiraaddissuesinkSinkConnector.java
+++ b/connectors/camel-jira-add-issue-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jiraaddissuesink/CamelJiraaddissuesinkSinkConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.jiraaddissuesink;
+ */package org.apache.camel.kafkaconnector.jiraaddissuesink;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSinkConnector;
diff --git a/connectors/camel-jira-add-issue-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jiraaddissuesink/CamelJiraaddissuesinkSinkConnectorConfig.java b/connectors/camel-jira-add-issue-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jiraaddissuesink/CamelJiraaddissuesinkSinkConnectorConfig.java
index 268829e..4fe0021 100644
--- a/connectors/camel-jira-add-issue-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jiraaddissuesink/CamelJiraaddissuesinkSinkConnectorConfig.java
+++ b/connectors/camel-jira-add-issue-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jiraaddissuesink/CamelJiraaddissuesinkSinkConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.jiraaddissuesink;
+ */package org.apache.camel.kafkaconnector.jiraaddissuesink;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-jira-add-issue-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jiraaddissuesink/CamelJiraaddissuesinkSinkTask.java b/connectors/camel-jira-add-issue-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jiraaddissuesink/CamelJiraaddissuesinkSinkTask.java
index fb9ade2..4aae4fc 100644
--- a/connectors/camel-jira-add-issue-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jiraaddissuesink/CamelJiraaddissuesinkSinkTask.java
+++ b/connectors/camel-jira-add-issue-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jiraaddissuesink/CamelJiraaddissuesinkSinkTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.jiraaddissuesink;
+ */package org.apache.camel.kafkaconnector.jiraaddissuesink;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-jira-oauth-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jiraoauthsource/CamelJiraoauthsourceSourceConnector.java b/connectors/camel-jira-oauth-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jiraoauthsource/CamelJiraoauthsourceSourceConnector.java
index c3d42a4..9b773a7 100644
--- a/connectors/camel-jira-oauth-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jiraoauthsource/CamelJiraoauthsourceSourceConnector.java
+++ b/connectors/camel-jira-oauth-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jiraoauthsource/CamelJiraoauthsourceSourceConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.jiraoauthsource;
+ */package org.apache.camel.kafkaconnector.jiraoauthsource;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSourceConnector;
diff --git a/connectors/camel-jira-oauth-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jiraoauthsource/CamelJiraoauthsourceSourceConnectorConfig.java b/connectors/camel-jira-oauth-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jiraoauthsource/CamelJiraoauthsourceSourceConnectorConfig.java
index 8d1eb2e..f3739eb 100644
--- a/connectors/camel-jira-oauth-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jiraoauthsource/CamelJiraoauthsourceSourceConnectorConfig.java
+++ b/connectors/camel-jira-oauth-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jiraoauthsource/CamelJiraoauthsourceSourceConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.jiraoauthsource;
+ */package org.apache.camel.kafkaconnector.jiraoauthsource;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-jira-oauth-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jiraoauthsource/CamelJiraoauthsourceSourceTask.java b/connectors/camel-jira-oauth-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jiraoauthsource/CamelJiraoauthsourceSourceTask.java
index ad4b18c..fec17c2 100644
--- a/connectors/camel-jira-oauth-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jiraoauthsource/CamelJiraoauthsourceSourceTask.java
+++ b/connectors/camel-jira-oauth-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jiraoauthsource/CamelJiraoauthsourceSourceTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.jiraoauthsource;
+ */package org.apache.camel.kafkaconnector.jiraoauthsource;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-jira-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jirasource/CamelJirasourceSourceConnector.java b/connectors/camel-jira-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jirasource/CamelJirasourceSourceConnector.java
index eeb2042..8799161 100644
--- a/connectors/camel-jira-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jirasource/CamelJirasourceSourceConnector.java
+++ b/connectors/camel-jira-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jirasource/CamelJirasourceSourceConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.jirasource;
+ */package org.apache.camel.kafkaconnector.jirasource;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSourceConnector;
diff --git a/connectors/camel-jira-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jirasource/CamelJirasourceSourceConnectorConfig.java b/connectors/camel-jira-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jirasource/CamelJirasourceSourceConnectorConfig.java
index 56945c0..b1cd879 100644
--- a/connectors/camel-jira-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jirasource/CamelJirasourceSourceConnectorConfig.java
+++ b/connectors/camel-jira-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jirasource/CamelJirasourceSourceConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.jirasource;
+ */package org.apache.camel.kafkaconnector.jirasource;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-jira-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jirasource/CamelJirasourceSourceTask.java b/connectors/camel-jira-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jirasource/CamelJirasourceSourceTask.java
index 32c4e09..d84b4bd 100644
--- a/connectors/camel-jira-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jirasource/CamelJirasourceSourceTask.java
+++ b/connectors/camel-jira-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jirasource/CamelJirasourceSourceTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.jirasource;
+ */package org.apache.camel.kafkaconnector.jirasource;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-jira-transition-issue-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jiratransitionissuesink/CamelJiratransitionissuesinkSinkConnector.java b/connectors/camel-jira-transition-issue-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jiratransitionissuesink/CamelJiratransitionissuesinkSinkConnector.java
index 237445d..5ff8c18 100644
--- a/connectors/camel-jira-transition-issue-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jiratransitionissuesink/CamelJiratransitionissuesinkSinkConnector.java
+++ b/connectors/camel-jira-transition-issue-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jiratransitionissuesink/CamelJiratransitionissuesinkSinkConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.jiratransitionissuesink;
+ */package org.apache.camel.kafkaconnector.jiratransitionissuesink;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSinkConnector;
diff --git a/connectors/camel-jira-transition-issue-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jiratransitionissuesink/CamelJiratransitionissuesinkSinkConnectorConfig.java b/connectors/camel-jira-transition-issue-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jiratransitionissuesink/CamelJiratransitionissuesinkSinkConnectorConfig.java
index 410a803..b249cb5 100644
--- a/connectors/camel-jira-transition-issue-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jiratransitionissuesink/CamelJiratransitionissuesinkSinkConnectorConfig.java
+++ b/connectors/camel-jira-transition-issue-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jiratransitionissuesink/CamelJiratransitionissuesinkSinkConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.jiratransitionissuesink;
+ */package org.apache.camel.kafkaconnector.jiratransitionissuesink;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-jira-transition-issue-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jiratransitionissuesink/CamelJiratransitionissuesinkSinkTask.java b/connectors/camel-jira-transition-issue-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jiratransitionissuesink/CamelJiratransitionissuesinkSinkTask.java
index c12cb2c..e579011 100644
--- a/connectors/camel-jira-transition-issue-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jiratransitionissuesink/CamelJiratransitionissuesinkSinkTask.java
+++ b/connectors/camel-jira-transition-issue-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jiratransitionissuesink/CamelJiratransitionissuesinkSinkTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.jiratransitionissuesink;
+ */package org.apache.camel.kafkaconnector.jiratransitionissuesink;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-jira-update-issue-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jiraupdateissuesink/CamelJiraupdateissuesinkSinkConnector.java b/connectors/camel-jira-update-issue-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jiraupdateissuesink/CamelJiraupdateissuesinkSinkConnector.java
index d781365..9892bc8 100644
--- a/connectors/camel-jira-update-issue-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jiraupdateissuesink/CamelJiraupdateissuesinkSinkConnector.java
+++ b/connectors/camel-jira-update-issue-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jiraupdateissuesink/CamelJiraupdateissuesinkSinkConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.jiraupdateissuesink;
+ */package org.apache.camel.kafkaconnector.jiraupdateissuesink;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSinkConnector;
diff --git a/connectors/camel-jira-update-issue-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jiraupdateissuesink/CamelJiraupdateissuesinkSinkConnectorConfig.java b/connectors/camel-jira-update-issue-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jiraupdateissuesink/CamelJiraupdateissuesinkSinkConnectorConfig.java
index 3ffb1c6..c7e44ab 100644
--- a/connectors/camel-jira-update-issue-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jiraupdateissuesink/CamelJiraupdateissuesinkSinkConnectorConfig.java
+++ b/connectors/camel-jira-update-issue-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jiraupdateissuesink/CamelJiraupdateissuesinkSinkConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.jiraupdateissuesink;
+ */package org.apache.camel.kafkaconnector.jiraupdateissuesink;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-jira-update-issue-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jiraupdateissuesink/CamelJiraupdateissuesinkSinkTask.java b/connectors/camel-jira-update-issue-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jiraupdateissuesink/CamelJiraupdateissuesinkSinkTask.java
index a068191..801148d 100644
--- a/connectors/camel-jira-update-issue-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jiraupdateissuesink/CamelJiraupdateissuesinkSinkTask.java
+++ b/connectors/camel-jira-update-issue-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jiraupdateissuesink/CamelJiraupdateissuesinkSinkTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.jiraupdateissuesink;
+ */package org.apache.camel.kafkaconnector.jiraupdateissuesink;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-jms-amqp-10-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jmsamqp10sink/CamelJmsamqp10sinkSinkConnector.java b/connectors/camel-jms-amqp-10-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jmsamqp10sink/CamelJmsamqp10sinkSinkConnector.java
index f8e60be..ce538a8 100644
--- a/connectors/camel-jms-amqp-10-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jmsamqp10sink/CamelJmsamqp10sinkSinkConnector.java
+++ b/connectors/camel-jms-amqp-10-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jmsamqp10sink/CamelJmsamqp10sinkSinkConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.jmsamqp10sink;
+ */package org.apache.camel.kafkaconnector.jmsamqp10sink;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSinkConnector;
diff --git a/connectors/camel-jms-amqp-10-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jmsamqp10sink/CamelJmsamqp10sinkSinkConnectorConfig.java b/connectors/camel-jms-amqp-10-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jmsamqp10sink/CamelJmsamqp10sinkSinkConnectorConfig.java
index 1d62060..497ea32 100644
--- a/connectors/camel-jms-amqp-10-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jmsamqp10sink/CamelJmsamqp10sinkSinkConnectorConfig.java
+++ b/connectors/camel-jms-amqp-10-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jmsamqp10sink/CamelJmsamqp10sinkSinkConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.jmsamqp10sink;
+ */package org.apache.camel.kafkaconnector.jmsamqp10sink;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-jms-amqp-10-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jmsamqp10sink/CamelJmsamqp10sinkSinkTask.java b/connectors/camel-jms-amqp-10-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jmsamqp10sink/CamelJmsamqp10sinkSinkTask.java
index 78c5ea9..afbb53b 100644
--- a/connectors/camel-jms-amqp-10-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jmsamqp10sink/CamelJmsamqp10sinkSinkTask.java
+++ b/connectors/camel-jms-amqp-10-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jmsamqp10sink/CamelJmsamqp10sinkSinkTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.jmsamqp10sink;
+ */package org.apache.camel.kafkaconnector.jmsamqp10sink;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-jms-amqp-10-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jmsamqp10source/CamelJmsamqp10sourceSourceConnector.java b/connectors/camel-jms-amqp-10-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jmsamqp10source/CamelJmsamqp10sourceSourceConnector.java
index b0ad617..7ca473a 100644
--- a/connectors/camel-jms-amqp-10-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jmsamqp10source/CamelJmsamqp10sourceSourceConnector.java
+++ b/connectors/camel-jms-amqp-10-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jmsamqp10source/CamelJmsamqp10sourceSourceConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.jmsamqp10source;
+ */package org.apache.camel.kafkaconnector.jmsamqp10source;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSourceConnector;
diff --git a/connectors/camel-jms-amqp-10-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jmsamqp10source/CamelJmsamqp10sourceSourceConnectorConfig.java b/connectors/camel-jms-amqp-10-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jmsamqp10source/CamelJmsamqp10sourceSourceConnectorConfig.java
index 10a3805..ea3cba8 100644
--- a/connectors/camel-jms-amqp-10-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jmsamqp10source/CamelJmsamqp10sourceSourceConnectorConfig.java
+++ b/connectors/camel-jms-amqp-10-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jmsamqp10source/CamelJmsamqp10sourceSourceConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.jmsamqp10source;
+ */package org.apache.camel.kafkaconnector.jmsamqp10source;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-jms-amqp-10-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jmsamqp10source/CamelJmsamqp10sourceSourceTask.java b/connectors/camel-jms-amqp-10-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jmsamqp10source/CamelJmsamqp10sourceSourceTask.java
index 9eebac8..1fb9a3b 100644
--- a/connectors/camel-jms-amqp-10-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jmsamqp10source/CamelJmsamqp10sourceSourceTask.java
+++ b/connectors/camel-jms-amqp-10-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jmsamqp10source/CamelJmsamqp10sourceSourceTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.jmsamqp10source;
+ */package org.apache.camel.kafkaconnector.jmsamqp10source;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-jms-apache-artemis-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jmsapacheartemissink/CamelJmsapacheartemissinkSinkConnector.java b/connectors/camel-jms-apache-artemis-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jmsapacheartemissink/CamelJmsapacheartemissinkSinkConnector.java
index 27fc392..3f70d83 100644
--- a/connectors/camel-jms-apache-artemis-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jmsapacheartemissink/CamelJmsapacheartemissinkSinkConnector.java
+++ b/connectors/camel-jms-apache-artemis-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jmsapacheartemissink/CamelJmsapacheartemissinkSinkConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.jmsapacheartemissink;
+ */package org.apache.camel.kafkaconnector.jmsapacheartemissink;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSinkConnector;
diff --git a/connectors/camel-jms-apache-artemis-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jmsapacheartemissink/CamelJmsapacheartemissinkSinkConnectorConfig.java b/connectors/camel-jms-apache-artemis-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jmsapacheartemissink/CamelJmsapacheartemissinkSinkConnectorConfig.java
index 67354e1..126a646 100644
--- a/connectors/camel-jms-apache-artemis-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jmsapacheartemissink/CamelJmsapacheartemissinkSinkConnectorConfig.java
+++ b/connectors/camel-jms-apache-artemis-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jmsapacheartemissink/CamelJmsapacheartemissinkSinkConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.jmsapacheartemissink;
+ */package org.apache.camel.kafkaconnector.jmsapacheartemissink;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-jms-apache-artemis-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jmsapacheartemissink/CamelJmsapacheartemissinkSinkTask.java b/connectors/camel-jms-apache-artemis-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jmsapacheartemissink/CamelJmsapacheartemissinkSinkTask.java
index 874beec..f960d24 100644
--- a/connectors/camel-jms-apache-artemis-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jmsapacheartemissink/CamelJmsapacheartemissinkSinkTask.java
+++ b/connectors/camel-jms-apache-artemis-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jmsapacheartemissink/CamelJmsapacheartemissinkSinkTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.jmsapacheartemissink;
+ */package org.apache.camel.kafkaconnector.jmsapacheartemissink;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-jms-apache-artemis-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jmsapacheartemissource/CamelJmsapacheartemissourceSourceConnector.java b/connectors/camel-jms-apache-artemis-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jmsapacheartemissource/CamelJmsapacheartemissourceSourceConnector.java
index e2e7af3..b846f4b 100644
--- a/connectors/camel-jms-apache-artemis-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jmsapacheartemissource/CamelJmsapacheartemissourceSourceConnector.java
+++ b/connectors/camel-jms-apache-artemis-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jmsapacheartemissource/CamelJmsapacheartemissourceSourceConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.jmsapacheartemissource;
+ */package org.apache.camel.kafkaconnector.jmsapacheartemissource;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSourceConnector;
diff --git a/connectors/camel-jms-apache-artemis-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jmsapacheartemissource/CamelJmsapacheartemissourceSourceConnectorConfig.java b/connectors/camel-jms-apache-artemis-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jmsapacheartemissource/CamelJmsapacheartemissourceSourceConnectorConfig.java
index 0366ae6..8a2bca2 100644
--- a/connectors/camel-jms-apache-artemis-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jmsapacheartemissource/CamelJmsapacheartemissourceSourceConnectorConfig.java
+++ b/connectors/camel-jms-apache-artemis-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jmsapacheartemissource/CamelJmsapacheartemissourceSourceConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.jmsapacheartemissource;
+ */package org.apache.camel.kafkaconnector.jmsapacheartemissource;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-jms-apache-artemis-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jmsapacheartemissource/CamelJmsapacheartemissourceSourceTask.java b/connectors/camel-jms-apache-artemis-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jmsapacheartemissource/CamelJmsapacheartemissourceSourceTask.java
index a2374ed..b9f0ae5 100644
--- a/connectors/camel-jms-apache-artemis-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jmsapacheartemissource/CamelJmsapacheartemissourceSourceTask.java
+++ b/connectors/camel-jms-apache-artemis-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jmsapacheartemissource/CamelJmsapacheartemissourceSourceTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.jmsapacheartemissource;
+ */package org.apache.camel.kafkaconnector.jmsapacheartemissource;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-jms-ibm-mq-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jmsibmmqsink/CamelJmsibmmqsinkSinkConnector.java b/connectors/camel-jms-ibm-mq-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jmsibmmqsink/CamelJmsibmmqsinkSinkConnector.java
index db33994..741ab62 100644
--- a/connectors/camel-jms-ibm-mq-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jmsibmmqsink/CamelJmsibmmqsinkSinkConnector.java
+++ b/connectors/camel-jms-ibm-mq-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jmsibmmqsink/CamelJmsibmmqsinkSinkConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.jmsibmmqsink;
+ */package org.apache.camel.kafkaconnector.jmsibmmqsink;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSinkConnector;
diff --git a/connectors/camel-jms-ibm-mq-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jmsibmmqsink/CamelJmsibmmqsinkSinkConnectorConfig.java b/connectors/camel-jms-ibm-mq-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jmsibmmqsink/CamelJmsibmmqsinkSinkConnectorConfig.java
index cf6a2cd..97207e3 100644
--- a/connectors/camel-jms-ibm-mq-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jmsibmmqsink/CamelJmsibmmqsinkSinkConnectorConfig.java
+++ b/connectors/camel-jms-ibm-mq-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jmsibmmqsink/CamelJmsibmmqsinkSinkConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.jmsibmmqsink;
+ */package org.apache.camel.kafkaconnector.jmsibmmqsink;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-jms-ibm-mq-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jmsibmmqsink/CamelJmsibmmqsinkSinkTask.java b/connectors/camel-jms-ibm-mq-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jmsibmmqsink/CamelJmsibmmqsinkSinkTask.java
index 0bbee53..3eac78f 100644
--- a/connectors/camel-jms-ibm-mq-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jmsibmmqsink/CamelJmsibmmqsinkSinkTask.java
+++ b/connectors/camel-jms-ibm-mq-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jmsibmmqsink/CamelJmsibmmqsinkSinkTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.jmsibmmqsink;
+ */package org.apache.camel.kafkaconnector.jmsibmmqsink;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-jms-ibm-mq-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jmsibmmqsource/CamelJmsibmmqsourceSourceConnector.java b/connectors/camel-jms-ibm-mq-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jmsibmmqsource/CamelJmsibmmqsourceSourceConnector.java
index b29aedc..d604682 100644
--- a/connectors/camel-jms-ibm-mq-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jmsibmmqsource/CamelJmsibmmqsourceSourceConnector.java
+++ b/connectors/camel-jms-ibm-mq-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jmsibmmqsource/CamelJmsibmmqsourceSourceConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.jmsibmmqsource;
+ */package org.apache.camel.kafkaconnector.jmsibmmqsource;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSourceConnector;
diff --git a/connectors/camel-jms-ibm-mq-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jmsibmmqsource/CamelJmsibmmqsourceSourceConnectorConfig.java b/connectors/camel-jms-ibm-mq-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jmsibmmqsource/CamelJmsibmmqsourceSourceConnectorConfig.java
index 0b0105d..88376f4 100644
--- a/connectors/camel-jms-ibm-mq-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jmsibmmqsource/CamelJmsibmmqsourceSourceConnectorConfig.java
+++ b/connectors/camel-jms-ibm-mq-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jmsibmmqsource/CamelJmsibmmqsourceSourceConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.jmsibmmqsource;
+ */package org.apache.camel.kafkaconnector.jmsibmmqsource;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-jms-ibm-mq-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jmsibmmqsource/CamelJmsibmmqsourceSourceTask.java b/connectors/camel-jms-ibm-mq-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jmsibmmqsource/CamelJmsibmmqsourceSourceTask.java
index f24980f..b00ca84 100644
--- a/connectors/camel-jms-ibm-mq-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jmsibmmqsource/CamelJmsibmmqsourceSourceTask.java
+++ b/connectors/camel-jms-ibm-mq-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jmsibmmqsource/CamelJmsibmmqsourceSourceTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.jmsibmmqsource;
+ */package org.apache.camel.kafkaconnector.jmsibmmqsource;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-kafka-not-secured-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/kafkanotsecuredsink/CamelKafkanotsecuredsinkSinkConnector.java b/connectors/camel-kafka-not-secured-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/kafkanotsecuredsink/CamelKafkanotsecuredsinkSinkConnector.java
index 0bbf136..3395b55 100644
--- a/connectors/camel-kafka-not-secured-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/kafkanotsecuredsink/CamelKafkanotsecuredsinkSinkConnector.java
+++ b/connectors/camel-kafka-not-secured-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/kafkanotsecuredsink/CamelKafkanotsecuredsinkSinkConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.kafkanotsecuredsink;
+ */package org.apache.camel.kafkaconnector.kafkanotsecuredsink;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSinkConnector;
diff --git a/connectors/camel-kafka-not-secured-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/kafkanotsecuredsink/CamelKafkanotsecuredsinkSinkConnectorConfig.java b/connectors/camel-kafka-not-secured-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/kafkanotsecuredsink/CamelKafkanotsecuredsinkSinkConnectorConfig.java
index 8c5090b..061a1d7 100644
--- a/connectors/camel-kafka-not-secured-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/kafkanotsecuredsink/CamelKafkanotsecuredsinkSinkConnectorConfig.java
+++ b/connectors/camel-kafka-not-secured-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/kafkanotsecuredsink/CamelKafkanotsecuredsinkSinkConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.kafkanotsecuredsink;
+ */package org.apache.camel.kafkaconnector.kafkanotsecuredsink;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-kafka-not-secured-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/kafkanotsecuredsink/CamelKafkanotsecuredsinkSinkTask.java b/connectors/camel-kafka-not-secured-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/kafkanotsecuredsink/CamelKafkanotsecuredsinkSinkTask.java
index 9ed866d..7a5ed9e 100644
--- a/connectors/camel-kafka-not-secured-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/kafkanotsecuredsink/CamelKafkanotsecuredsinkSinkTask.java
+++ b/connectors/camel-kafka-not-secured-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/kafkanotsecuredsink/CamelKafkanotsecuredsinkSinkTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.kafkanotsecuredsink;
+ */package org.apache.camel.kafkaconnector.kafkanotsecuredsink;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-kafka-not-secured-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/kafkanotsecuredsource/CamelKafkanotsecuredsourceSourceConnector.java b/connectors/camel-kafka-not-secured-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/kafkanotsecuredsource/CamelKafkanotsecuredsourceSourceConnector.java
index f0d4dc1..cff9b24 100644
--- a/connectors/camel-kafka-not-secured-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/kafkanotsecuredsource/CamelKafkanotsecuredsourceSourceConnector.java
+++ b/connectors/camel-kafka-not-secured-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/kafkanotsecuredsource/CamelKafkanotsecuredsourceSourceConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.kafkanotsecuredsource;
+ */package org.apache.camel.kafkaconnector.kafkanotsecuredsource;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSourceConnector;
diff --git a/connectors/camel-kafka-not-secured-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/kafkanotsecuredsource/CamelKafkanotsecuredsourceSourceConnectorConfig.java b/connectors/camel-kafka-not-secured-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/kafkanotsecuredsource/CamelKafkanotsecuredsourceSourceConnectorConfig.java
index f847d7d..ee7478d 100644
--- a/connectors/camel-kafka-not-secured-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/kafkanotsecuredsource/CamelKafkanotsecuredsourceSourceConnectorConfig.java
+++ b/connectors/camel-kafka-not-secured-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/kafkanotsecuredsource/CamelKafkanotsecuredsourceSourceConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.kafkanotsecuredsource;
+ */package org.apache.camel.kafkaconnector.kafkanotsecuredsource;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-kafka-not-secured-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/kafkanotsecuredsource/CamelKafkanotsecuredsourceSourceTask.java b/connectors/camel-kafka-not-secured-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/kafkanotsecuredsource/CamelKafkanotsecuredsourceSourceTask.java
index d75d0e2..7f872eb 100644
--- a/connectors/camel-kafka-not-secured-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/kafkanotsecuredsource/CamelKafkanotsecuredsourceSourceTask.java
+++ b/connectors/camel-kafka-not-secured-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/kafkanotsecuredsource/CamelKafkanotsecuredsourceSourceTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.kafkanotsecuredsource;
+ */package org.apache.camel.kafkaconnector.kafkanotsecuredsource;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-kafka-scram-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/kafkascramsink/CamelKafkascramsinkSinkConnector.java b/connectors/camel-kafka-scram-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/kafkascramsink/CamelKafkascramsinkSinkConnector.java
index b448d14..f6b9bd6 100644
--- a/connectors/camel-kafka-scram-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/kafkascramsink/CamelKafkascramsinkSinkConnector.java
+++ b/connectors/camel-kafka-scram-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/kafkascramsink/CamelKafkascramsinkSinkConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.kafkascramsink;
+ */package org.apache.camel.kafkaconnector.kafkascramsink;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSinkConnector;
diff --git a/connectors/camel-kafka-scram-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/kafkascramsink/CamelKafkascramsinkSinkConnectorConfig.java b/connectors/camel-kafka-scram-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/kafkascramsink/CamelKafkascramsinkSinkConnectorConfig.java
index 96c1d83..5f548c4 100644
--- a/connectors/camel-kafka-scram-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/kafkascramsink/CamelKafkascramsinkSinkConnectorConfig.java
+++ b/connectors/camel-kafka-scram-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/kafkascramsink/CamelKafkascramsinkSinkConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.kafkascramsink;
+ */package org.apache.camel.kafkaconnector.kafkascramsink;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-kafka-scram-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/kafkascramsink/CamelKafkascramsinkSinkTask.java b/connectors/camel-kafka-scram-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/kafkascramsink/CamelKafkascramsinkSinkTask.java
index be982b8..c2aad06 100644
--- a/connectors/camel-kafka-scram-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/kafkascramsink/CamelKafkascramsinkSinkTask.java
+++ b/connectors/camel-kafka-scram-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/kafkascramsink/CamelKafkascramsinkSinkTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.kafkascramsink;
+ */package org.apache.camel.kafkaconnector.kafkascramsink;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-kafka-scram-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/kafkascramsource/CamelKafkascramsourceSourceConnector.java b/connectors/camel-kafka-scram-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/kafkascramsource/CamelKafkascramsourceSourceConnector.java
index 27c825d..899d8c2 100644
--- a/connectors/camel-kafka-scram-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/kafkascramsource/CamelKafkascramsourceSourceConnector.java
+++ b/connectors/camel-kafka-scram-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/kafkascramsource/CamelKafkascramsourceSourceConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.kafkascramsource;
+ */package org.apache.camel.kafkaconnector.kafkascramsource;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSourceConnector;
diff --git a/connectors/camel-kafka-scram-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/kafkascramsource/CamelKafkascramsourceSourceConnectorConfig.java b/connectors/camel-kafka-scram-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/kafkascramsource/CamelKafkascramsourceSourceConnectorConfig.java
index ccd8f0d..9de871b 100644
--- a/connectors/camel-kafka-scram-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/kafkascramsource/CamelKafkascramsourceSourceConnectorConfig.java
+++ b/connectors/camel-kafka-scram-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/kafkascramsource/CamelKafkascramsourceSourceConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.kafkascramsource;
+ */package org.apache.camel.kafkaconnector.kafkascramsource;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-kafka-scram-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/kafkascramsource/CamelKafkascramsourceSourceTask.java b/connectors/camel-kafka-scram-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/kafkascramsource/CamelKafkascramsourceSourceTask.java
index 99a5ddd..71f0dd4 100644
--- a/connectors/camel-kafka-scram-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/kafkascramsource/CamelKafkascramsourceSourceTask.java
+++ b/connectors/camel-kafka-scram-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/kafkascramsource/CamelKafkascramsourceSourceTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.kafkascramsource;
+ */package org.apache.camel.kafkaconnector.kafkascramsource;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-kafka-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/kafkasink/CamelKafkasinkSinkConnector.java b/connectors/camel-kafka-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/kafkasink/CamelKafkasinkSinkConnector.java
index 93276ce..2d3681f 100644
--- a/connectors/camel-kafka-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/kafkasink/CamelKafkasinkSinkConnector.java
+++ b/connectors/camel-kafka-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/kafkasink/CamelKafkasinkSinkConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.kafkasink;
+ */package org.apache.camel.kafkaconnector.kafkasink;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSinkConnector;
diff --git a/connectors/camel-kafka-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/kafkasink/CamelKafkasinkSinkConnectorConfig.java b/connectors/camel-kafka-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/kafkasink/CamelKafkasinkSinkConnectorConfig.java
index 9c95462..f62e69b 100644
--- a/connectors/camel-kafka-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/kafkasink/CamelKafkasinkSinkConnectorConfig.java
+++ b/connectors/camel-kafka-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/kafkasink/CamelKafkasinkSinkConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.kafkasink;
+ */package org.apache.camel.kafkaconnector.kafkasink;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-kafka-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/kafkasink/CamelKafkasinkSinkTask.java b/connectors/camel-kafka-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/kafkasink/CamelKafkasinkSinkTask.java
index 4d2ab18..4062cf6 100644
--- a/connectors/camel-kafka-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/kafkasink/CamelKafkasinkSinkTask.java
+++ b/connectors/camel-kafka-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/kafkasink/CamelKafkasinkSinkTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.kafkasink;
+ */package org.apache.camel.kafkaconnector.kafkasink;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-kafka-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/kafkasource/CamelKafkasourceSourceConnector.java b/connectors/camel-kafka-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/kafkasource/CamelKafkasourceSourceConnector.java
index 3124ddd..6f16601 100644
--- a/connectors/camel-kafka-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/kafkasource/CamelKafkasourceSourceConnector.java
+++ b/connectors/camel-kafka-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/kafkasource/CamelKafkasourceSourceConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.kafkasource;
+ */package org.apache.camel.kafkaconnector.kafkasource;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSourceConnector;
diff --git a/connectors/camel-kafka-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/kafkasource/CamelKafkasourceSourceConnectorConfig.java b/connectors/camel-kafka-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/kafkasource/CamelKafkasourceSourceConnectorConfig.java
index 10c070a..51ab0a0 100644
--- a/connectors/camel-kafka-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/kafkasource/CamelKafkasourceSourceConnectorConfig.java
+++ b/connectors/camel-kafka-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/kafkasource/CamelKafkasourceSourceConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.kafkasource;
+ */package org.apache.camel.kafkaconnector.kafkasource;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-kafka-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/kafkasource/CamelKafkasourceSourceTask.java b/connectors/camel-kafka-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/kafkasource/CamelKafkasourceSourceTask.java
index 793c67e..6e74962 100644
--- a/connectors/camel-kafka-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/kafkasource/CamelKafkasourceSourceTask.java
+++ b/connectors/camel-kafka-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/kafkasource/CamelKafkasourceSourceTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.kafkasource;
+ */package org.apache.camel.kafkaconnector.kafkasource;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-kafka-ssl-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/kafkasslsink/CamelKafkasslsinkSinkConnector.java b/connectors/camel-kafka-ssl-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/kafkasslsink/CamelKafkasslsinkSinkConnector.java
index 88fab7e..476ed8b 100644
--- a/connectors/camel-kafka-ssl-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/kafkasslsink/CamelKafkasslsinkSinkConnector.java
+++ b/connectors/camel-kafka-ssl-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/kafkasslsink/CamelKafkasslsinkSinkConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.kafkasslsink;
+ */package org.apache.camel.kafkaconnector.kafkasslsink;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSinkConnector;
diff --git a/connectors/camel-kafka-ssl-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/kafkasslsink/CamelKafkasslsinkSinkConnectorConfig.java b/connectors/camel-kafka-ssl-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/kafkasslsink/CamelKafkasslsinkSinkConnectorConfig.java
index b3cd77b..eb2b6fc 100644
--- a/connectors/camel-kafka-ssl-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/kafkasslsink/CamelKafkasslsinkSinkConnectorConfig.java
+++ b/connectors/camel-kafka-ssl-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/kafkasslsink/CamelKafkasslsinkSinkConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.kafkasslsink;
+ */package org.apache.camel.kafkaconnector.kafkasslsink;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-kafka-ssl-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/kafkasslsink/CamelKafkasslsinkSinkTask.java b/connectors/camel-kafka-ssl-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/kafkasslsink/CamelKafkasslsinkSinkTask.java
index 37b23b2..314d2a6 100644
--- a/connectors/camel-kafka-ssl-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/kafkasslsink/CamelKafkasslsinkSinkTask.java
+++ b/connectors/camel-kafka-ssl-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/kafkasslsink/CamelKafkasslsinkSinkTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.kafkasslsink;
+ */package org.apache.camel.kafkaconnector.kafkasslsink;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-kafka-ssl-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/kafkasslsource/CamelKafkasslsourceSourceConnector.java b/connectors/camel-kafka-ssl-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/kafkasslsource/CamelKafkasslsourceSourceConnector.java
index 820dd33..e00ebe5 100644
--- a/connectors/camel-kafka-ssl-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/kafkasslsource/CamelKafkasslsourceSourceConnector.java
+++ b/connectors/camel-kafka-ssl-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/kafkasslsource/CamelKafkasslsourceSourceConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.kafkasslsource;
+ */package org.apache.camel.kafkaconnector.kafkasslsource;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSourceConnector;
diff --git a/connectors/camel-kafka-ssl-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/kafkasslsource/CamelKafkasslsourceSourceConnectorConfig.java b/connectors/camel-kafka-ssl-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/kafkasslsource/CamelKafkasslsourceSourceConnectorConfig.java
index 5aafaaa..c7491c6 100644
--- a/connectors/camel-kafka-ssl-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/kafkasslsource/CamelKafkasslsourceSourceConnectorConfig.java
+++ b/connectors/camel-kafka-ssl-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/kafkasslsource/CamelKafkasslsourceSourceConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.kafkasslsource;
+ */package org.apache.camel.kafkaconnector.kafkasslsource;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-kafka-ssl-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/kafkasslsource/CamelKafkasslsourceSourceTask.java b/connectors/camel-kafka-ssl-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/kafkasslsource/CamelKafkasslsourceSourceTask.java
index c6e1329..a9227f9 100644
--- a/connectors/camel-kafka-ssl-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/kafkasslsource/CamelKafkasslsourceSourceTask.java
+++ b/connectors/camel-kafka-ssl-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/kafkasslsource/CamelKafkasslsourceSourceTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.kafkasslsource;
+ */package org.apache.camel.kafkaconnector.kafkasslsource;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-kubernetes-namespaces-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/kubernetesnamespacessource/CamelKubernetesnamespacessourceSourceConnector.java b/connectors/camel-kubernetes-namespaces-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/kubernetesnamespacessource/CamelKubernetesnamespacessourceSourceConnector.java
index 76bbff8..8c76656 100644
--- a/connectors/camel-kubernetes-namespaces-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/kubernetesnamespacessource/CamelKubernetesnamespacessourceSourceConnector.java
+++ b/connectors/camel-kubernetes-namespaces-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/kubernetesnamespacessource/CamelKubernetesnamespacessourceSourceConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.kubernetesnamespacessource;
+ */package org.apache.camel.kafkaconnector.kubernetesnamespacessource;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSourceConnector;
diff --git a/connectors/camel-kubernetes-namespaces-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/kubernetesnamespacessource/CamelKubernetesnamespacessourceSourceConnectorConfig.java b/connectors/camel-kubernetes-namespaces-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/kubernetesnamespacessource/CamelKubernetesnamespacessourceSourceConnectorConfig.java
index b477dd0..a3dd7d6 100644
--- a/connectors/camel-kubernetes-namespaces-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/kubernetesnamespacessource/CamelKubernetesnamespacessourceSourceConnectorConfig.java
+++ b/connectors/camel-kubernetes-namespaces-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/kubernetesnamespacessource/CamelKubernetesnamespacessourceSourceConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.kubernetesnamespacessource;
+ */package org.apache.camel.kafkaconnector.kubernetesnamespacessource;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-kubernetes-namespaces-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/kubernetesnamespacessource/CamelKubernetesnamespacessourceSourceTask.java b/connectors/camel-kubernetes-namespaces-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/kubernetesnamespacessource/CamelKubernetesnamespacessourceSourceTask.java
index bc71b19..693a765 100644
--- a/connectors/camel-kubernetes-namespaces-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/kubernetesnamespacessource/CamelKubernetesnamespacessourceSourceTask.java
+++ b/connectors/camel-kubernetes-namespaces-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/kubernetesnamespacessource/CamelKubernetesnamespacessourceSourceTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.kubernetesnamespacessource;
+ */package org.apache.camel.kafkaconnector.kubernetesnamespacessource;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-kubernetes-nodes-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/kubernetesnodessource/CamelKubernetesnodessourceSourceConnector.java b/connectors/camel-kubernetes-nodes-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/kubernetesnodessource/CamelKubernetesnodessourceSourceConnector.java
index 25c5d95..ff957d6 100644
--- a/connectors/camel-kubernetes-nodes-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/kubernetesnodessource/CamelKubernetesnodessourceSourceConnector.java
+++ b/connectors/camel-kubernetes-nodes-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/kubernetesnodessource/CamelKubernetesnodessourceSourceConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.kubernetesnodessource;
+ */package org.apache.camel.kafkaconnector.kubernetesnodessource;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSourceConnector;
diff --git a/connectors/camel-kubernetes-nodes-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/kubernetesnodessource/CamelKubernetesnodessourceSourceConnectorConfig.java b/connectors/camel-kubernetes-nodes-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/kubernetesnodessource/CamelKubernetesnodessourceSourceConnectorConfig.java
index cf1d362..8b990ae 100644
--- a/connectors/camel-kubernetes-nodes-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/kubernetesnodessource/CamelKubernetesnodessourceSourceConnectorConfig.java
+++ b/connectors/camel-kubernetes-nodes-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/kubernetesnodessource/CamelKubernetesnodessourceSourceConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.kubernetesnodessource;
+ */package org.apache.camel.kafkaconnector.kubernetesnodessource;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-kubernetes-nodes-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/kubernetesnodessource/CamelKubernetesnodessourceSourceTask.java b/connectors/camel-kubernetes-nodes-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/kubernetesnodessource/CamelKubernetesnodessourceSourceTask.java
index 853dd68..ced79a5 100644
--- a/connectors/camel-kubernetes-nodes-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/kubernetesnodessource/CamelKubernetesnodessourceSourceTask.java
+++ b/connectors/camel-kubernetes-nodes-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/kubernetesnodessource/CamelKubernetesnodessourceSourceTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.kubernetesnodessource;
+ */package org.apache.camel.kafkaconnector.kubernetesnodessource;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-kubernetes-pods-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/kubernetespodssource/CamelKubernetespodssourceSourceConnector.java b/connectors/camel-kubernetes-pods-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/kubernetespodssource/CamelKubernetespodssourceSourceConnector.java
index a2ec860..eb46108 100644
--- a/connectors/camel-kubernetes-pods-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/kubernetespodssource/CamelKubernetespodssourceSourceConnector.java
+++ b/connectors/camel-kubernetes-pods-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/kubernetespodssource/CamelKubernetespodssourceSourceConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.kubernetespodssource;
+ */package org.apache.camel.kafkaconnector.kubernetespodssource;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSourceConnector;
diff --git a/connectors/camel-kubernetes-pods-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/kubernetespodssource/CamelKubernetespodssourceSourceConnectorConfig.java b/connectors/camel-kubernetes-pods-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/kubernetespodssource/CamelKubernetespodssourceSourceConnectorConfig.java
index 73ea865..234d419 100644
--- a/connectors/camel-kubernetes-pods-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/kubernetespodssource/CamelKubernetespodssourceSourceConnectorConfig.java
+++ b/connectors/camel-kubernetes-pods-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/kubernetespodssource/CamelKubernetespodssourceSourceConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.kubernetespodssource;
+ */package org.apache.camel.kafkaconnector.kubernetespodssource;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-kubernetes-pods-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/kubernetespodssource/CamelKubernetespodssourceSourceTask.java b/connectors/camel-kubernetes-pods-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/kubernetespodssource/CamelKubernetespodssourceSourceTask.java
index 91657e7..024ce9b 100644
--- a/connectors/camel-kubernetes-pods-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/kubernetespodssource/CamelKubernetespodssourceSourceTask.java
+++ b/connectors/camel-kubernetes-pods-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/kubernetespodssource/CamelKubernetespodssourceSourceTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.kubernetespodssource;
+ */package org.apache.camel.kafkaconnector.kubernetespodssource;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-log-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/logsink/CamelLogsinkSinkConnector.java b/connectors/camel-log-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/logsink/CamelLogsinkSinkConnector.java
index d3c5104..a533ef3 100644
--- a/connectors/camel-log-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/logsink/CamelLogsinkSinkConnector.java
+++ b/connectors/camel-log-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/logsink/CamelLogsinkSinkConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.logsink;
+ */package org.apache.camel.kafkaconnector.logsink;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSinkConnector;
diff --git a/connectors/camel-log-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/logsink/CamelLogsinkSinkConnectorConfig.java b/connectors/camel-log-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/logsink/CamelLogsinkSinkConnectorConfig.java
index e301323..82500c0 100644
--- a/connectors/camel-log-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/logsink/CamelLogsinkSinkConnectorConfig.java
+++ b/connectors/camel-log-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/logsink/CamelLogsinkSinkConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.logsink;
+ */package org.apache.camel.kafkaconnector.logsink;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-log-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/logsink/CamelLogsinkSinkTask.java b/connectors/camel-log-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/logsink/CamelLogsinkSinkTask.java
index 152935d..aba52fd 100644
--- a/connectors/camel-log-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/logsink/CamelLogsinkSinkTask.java
+++ b/connectors/camel-log-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/logsink/CamelLogsinkSinkTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.logsink;
+ */package org.apache.camel.kafkaconnector.logsink;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-mail-imap-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mailimapsource/CamelMailimapsourceSourceConnector.java b/connectors/camel-mail-imap-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mailimapsource/CamelMailimapsourceSourceConnector.java
index 09e907c..b6ea501 100644
--- a/connectors/camel-mail-imap-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mailimapsource/CamelMailimapsourceSourceConnector.java
+++ b/connectors/camel-mail-imap-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mailimapsource/CamelMailimapsourceSourceConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.mailimapsource;
+ */package org.apache.camel.kafkaconnector.mailimapsource;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSourceConnector;
diff --git a/connectors/camel-mail-imap-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mailimapsource/CamelMailimapsourceSourceConnectorConfig.java b/connectors/camel-mail-imap-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mailimapsource/CamelMailimapsourceSourceConnectorConfig.java
index d46e0ae..f5dbddf 100644
--- a/connectors/camel-mail-imap-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mailimapsource/CamelMailimapsourceSourceConnectorConfig.java
+++ b/connectors/camel-mail-imap-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mailimapsource/CamelMailimapsourceSourceConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.mailimapsource;
+ */package org.apache.camel.kafkaconnector.mailimapsource;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-mail-imap-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mailimapsource/CamelMailimapsourceSourceTask.java b/connectors/camel-mail-imap-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mailimapsource/CamelMailimapsourceSourceTask.java
index ffbef69..832070a 100644
--- a/connectors/camel-mail-imap-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mailimapsource/CamelMailimapsourceSourceTask.java
+++ b/connectors/camel-mail-imap-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mailimapsource/CamelMailimapsourceSourceTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.mailimapsource;
+ */package org.apache.camel.kafkaconnector.mailimapsource;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-mail-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mailsink/CamelMailsinkSinkConnector.java b/connectors/camel-mail-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mailsink/CamelMailsinkSinkConnector.java
index 2f95ac9..21c52d6 100644
--- a/connectors/camel-mail-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mailsink/CamelMailsinkSinkConnector.java
+++ b/connectors/camel-mail-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mailsink/CamelMailsinkSinkConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.mailsink;
+ */package org.apache.camel.kafkaconnector.mailsink;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSinkConnector;
diff --git a/connectors/camel-mail-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mailsink/CamelMailsinkSinkConnectorConfig.java b/connectors/camel-mail-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mailsink/CamelMailsinkSinkConnectorConfig.java
index dd03b0e..f6c199b 100644
--- a/connectors/camel-mail-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mailsink/CamelMailsinkSinkConnectorConfig.java
+++ b/connectors/camel-mail-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mailsink/CamelMailsinkSinkConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.mailsink;
+ */package org.apache.camel.kafkaconnector.mailsink;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-mail-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mailsink/CamelMailsinkSinkTask.java b/connectors/camel-mail-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mailsink/CamelMailsinkSinkTask.java
index dd03e31..b40bb07 100644
--- a/connectors/camel-mail-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mailsink/CamelMailsinkSinkTask.java
+++ b/connectors/camel-mail-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mailsink/CamelMailsinkSinkTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.mailsink;
+ */package org.apache.camel.kafkaconnector.mailsink;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-mariadb-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mariadbsink/CamelMariadbsinkSinkConnector.java b/connectors/camel-mariadb-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mariadbsink/CamelMariadbsinkSinkConnector.java
index 3ad0016..82ad079 100644
--- a/connectors/camel-mariadb-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mariadbsink/CamelMariadbsinkSinkConnector.java
+++ b/connectors/camel-mariadb-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mariadbsink/CamelMariadbsinkSinkConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.mariadbsink;
+ */package org.apache.camel.kafkaconnector.mariadbsink;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSinkConnector;
diff --git a/connectors/camel-mariadb-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mariadbsink/CamelMariadbsinkSinkConnectorConfig.java b/connectors/camel-mariadb-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mariadbsink/CamelMariadbsinkSinkConnectorConfig.java
index baa1286..5911862 100644
--- a/connectors/camel-mariadb-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mariadbsink/CamelMariadbsinkSinkConnectorConfig.java
+++ b/connectors/camel-mariadb-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mariadbsink/CamelMariadbsinkSinkConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.mariadbsink;
+ */package org.apache.camel.kafkaconnector.mariadbsink;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-mariadb-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mariadbsink/CamelMariadbsinkSinkTask.java b/connectors/camel-mariadb-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mariadbsink/CamelMariadbsinkSinkTask.java
index 0139213..6d8cc09 100644
--- a/connectors/camel-mariadb-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mariadbsink/CamelMariadbsinkSinkTask.java
+++ b/connectors/camel-mariadb-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mariadbsink/CamelMariadbsinkSinkTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.mariadbsink;
+ */package org.apache.camel.kafkaconnector.mariadbsink;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-mariadb-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mariadbsource/CamelMariadbsourceSourceConnector.java b/connectors/camel-mariadb-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mariadbsource/CamelMariadbsourceSourceConnector.java
index b600da2..9486235 100644
--- a/connectors/camel-mariadb-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mariadbsource/CamelMariadbsourceSourceConnector.java
+++ b/connectors/camel-mariadb-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mariadbsource/CamelMariadbsourceSourceConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.mariadbsource;
+ */package org.apache.camel.kafkaconnector.mariadbsource;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSourceConnector;
diff --git a/connectors/camel-mariadb-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mariadbsource/CamelMariadbsourceSourceConnectorConfig.java b/connectors/camel-mariadb-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mariadbsource/CamelMariadbsourceSourceConnectorConfig.java
index fe36f19..9d1134b 100644
--- a/connectors/camel-mariadb-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mariadbsource/CamelMariadbsourceSourceConnectorConfig.java
+++ b/connectors/camel-mariadb-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mariadbsource/CamelMariadbsourceSourceConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.mariadbsource;
+ */package org.apache.camel.kafkaconnector.mariadbsource;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-mariadb-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mariadbsource/CamelMariadbsourceSourceTask.java b/connectors/camel-mariadb-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mariadbsource/CamelMariadbsourceSourceTask.java
index a0409ee..99e52d3 100644
--- a/connectors/camel-mariadb-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mariadbsource/CamelMariadbsourceSourceTask.java
+++ b/connectors/camel-mariadb-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mariadbsource/CamelMariadbsourceSourceTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.mariadbsource;
+ */package org.apache.camel.kafkaconnector.mariadbsource;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-minio-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/miniosink/CamelMiniosinkSinkConnector.java b/connectors/camel-minio-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/miniosink/CamelMiniosinkSinkConnector.java
index a7bdf33..179f0bd 100644
--- a/connectors/camel-minio-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/miniosink/CamelMiniosinkSinkConnector.java
+++ b/connectors/camel-minio-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/miniosink/CamelMiniosinkSinkConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.miniosink;
+ */package org.apache.camel.kafkaconnector.miniosink;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSinkConnector;
diff --git a/connectors/camel-minio-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/miniosink/CamelMiniosinkSinkConnectorConfig.java b/connectors/camel-minio-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/miniosink/CamelMiniosinkSinkConnectorConfig.java
index 42104db..c915d43 100644
--- a/connectors/camel-minio-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/miniosink/CamelMiniosinkSinkConnectorConfig.java
+++ b/connectors/camel-minio-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/miniosink/CamelMiniosinkSinkConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.miniosink;
+ */package org.apache.camel.kafkaconnector.miniosink;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-minio-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/miniosink/CamelMiniosinkSinkTask.java b/connectors/camel-minio-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/miniosink/CamelMiniosinkSinkTask.java
index d3461f2..dc4fa6e 100644
--- a/connectors/camel-minio-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/miniosink/CamelMiniosinkSinkTask.java
+++ b/connectors/camel-minio-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/miniosink/CamelMiniosinkSinkTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.miniosink;
+ */package org.apache.camel.kafkaconnector.miniosink;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-minio-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/miniosource/CamelMiniosourceSourceConnector.java b/connectors/camel-minio-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/miniosource/CamelMiniosourceSourceConnector.java
index 6f21a22..e8c8769 100644
--- a/connectors/camel-minio-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/miniosource/CamelMiniosourceSourceConnector.java
+++ b/connectors/camel-minio-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/miniosource/CamelMiniosourceSourceConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.miniosource;
+ */package org.apache.camel.kafkaconnector.miniosource;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSourceConnector;
diff --git a/connectors/camel-minio-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/miniosource/CamelMiniosourceSourceConnectorConfig.java b/connectors/camel-minio-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/miniosource/CamelMiniosourceSourceConnectorConfig.java
index 43fc285..edd599f 100644
--- a/connectors/camel-minio-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/miniosource/CamelMiniosourceSourceConnectorConfig.java
+++ b/connectors/camel-minio-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/miniosource/CamelMiniosourceSourceConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.miniosource;
+ */package org.apache.camel.kafkaconnector.miniosource;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-minio-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/miniosource/CamelMiniosourceSourceTask.java b/connectors/camel-minio-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/miniosource/CamelMiniosourceSourceTask.java
index f9158f2..8eeb474 100644
--- a/connectors/camel-minio-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/miniosource/CamelMiniosourceSourceTask.java
+++ b/connectors/camel-minio-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/miniosource/CamelMiniosourceSourceTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.miniosource;
+ */package org.apache.camel.kafkaconnector.miniosource;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-mongodb-changes-stream-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mongodbchangesstreamsource/CamelMongodbchangesstreamsourceSourceConnector.java b/connectors/camel-mongodb-changes-stream-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mongodbchangesstreamsource/CamelMongodbchangesstreamsourceSourceConnector.java
index 88bc3b9..3516217 100644
--- a/connectors/camel-mongodb-changes-stream-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mongodbchangesstreamsource/CamelMongodbchangesstreamsourceSourceConnector.java
+++ b/connectors/camel-mongodb-changes-stream-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mongodbchangesstreamsource/CamelMongodbchangesstreamsourceSourceConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.mongodbchangesstreamsource;
+ */package org.apache.camel.kafkaconnector.mongodbchangesstreamsource;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSourceConnector;
diff --git a/connectors/camel-mongodb-changes-stream-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mongodbchangesstreamsource/CamelMongodbchangesstreamsourceSourceConnectorConfig.java b/connectors/camel-mongodb-changes-stream-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mongodbchangesstreamsource/CamelMongodbchangesstreamsourceSourceConnectorConfig.java
index c3c0581..e63e409 100644
--- a/connectors/camel-mongodb-changes-stream-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mongodbchangesstreamsource/CamelMongodbchangesstreamsourceSourceConnectorConfig.java
+++ b/connectors/camel-mongodb-changes-stream-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mongodbchangesstreamsource/CamelMongodbchangesstreamsourceSourceConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.mongodbchangesstreamsource;
+ */package org.apache.camel.kafkaconnector.mongodbchangesstreamsource;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-mongodb-changes-stream-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mongodbchangesstreamsource/CamelMongodbchangesstreamsourceSourceTask.java b/connectors/camel-mongodb-changes-stream-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mongodbchangesstreamsource/CamelMongodbchangesstreamsourceSourceTask.java
index feff127..125f01c 100644
--- a/connectors/camel-mongodb-changes-stream-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mongodbchangesstreamsource/CamelMongodbchangesstreamsourceSourceTask.java
+++ b/connectors/camel-mongodb-changes-stream-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mongodbchangesstreamsource/CamelMongodbchangesstreamsourceSourceTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.mongodbchangesstreamsource;
+ */package org.apache.camel.kafkaconnector.mongodbchangesstreamsource;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-mongodb-sink-kafka-connector/pom.xml b/connectors/camel-mongodb-sink-kafka-connector/pom.xml
index 2f0b986..417622b 100644
--- a/connectors/camel-mongodb-sink-kafka-connector/pom.xml
+++ b/connectors/camel-mongodb-sink-kafka-connector/pom.xml
@@ -42,16 +42,16 @@
     <!-- Camel -->
     <!--START OF GENERATED CODE-->
     <dependency>
-      <groupId>org.apache.camel</groupId>
-      <artifactId>camel-mongodb</artifactId>
-    </dependency>
-    <dependency>
       <groupId>org.apache.camel.kamelets</groupId>
       <artifactId>camel-kamelets-utils</artifactId>
       <version>4.0.0</version>
     </dependency>
     <dependency>
       <groupId>org.apache.camel</groupId>
+      <artifactId>camel-mongodb</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.camel</groupId>
       <artifactId>camel-jackson</artifactId>
     </dependency>
     <dependency>
diff --git a/connectors/camel-mongodb-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mongodbsink/CamelMongodbsinkSinkConnector.java b/connectors/camel-mongodb-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mongodbsink/CamelMongodbsinkSinkConnector.java
index 67df28a..ecb88fc 100644
--- a/connectors/camel-mongodb-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mongodbsink/CamelMongodbsinkSinkConnector.java
+++ b/connectors/camel-mongodb-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mongodbsink/CamelMongodbsinkSinkConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.mongodbsink;
+ */package org.apache.camel.kafkaconnector.mongodbsink;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSinkConnector;
diff --git a/connectors/camel-mongodb-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mongodbsink/CamelMongodbsinkSinkConnectorConfig.java b/connectors/camel-mongodb-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mongodbsink/CamelMongodbsinkSinkConnectorConfig.java
index e13c21d..6cae35b 100644
--- a/connectors/camel-mongodb-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mongodbsink/CamelMongodbsinkSinkConnectorConfig.java
+++ b/connectors/camel-mongodb-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mongodbsink/CamelMongodbsinkSinkConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.mongodbsink;
+ */package org.apache.camel.kafkaconnector.mongodbsink;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-mongodb-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mongodbsink/CamelMongodbsinkSinkTask.java b/connectors/camel-mongodb-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mongodbsink/CamelMongodbsinkSinkTask.java
index af8e81c..fcc6553 100644
--- a/connectors/camel-mongodb-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mongodbsink/CamelMongodbsinkSinkTask.java
+++ b/connectors/camel-mongodb-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mongodbsink/CamelMongodbsinkSinkTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.mongodbsink;
+ */package org.apache.camel.kafkaconnector.mongodbsink;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-mongodb-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mongodbsource/CamelMongodbsourceSourceConnector.java b/connectors/camel-mongodb-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mongodbsource/CamelMongodbsourceSourceConnector.java
index 920b18a..33ce12b 100644
--- a/connectors/camel-mongodb-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mongodbsource/CamelMongodbsourceSourceConnector.java
+++ b/connectors/camel-mongodb-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mongodbsource/CamelMongodbsourceSourceConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.mongodbsource;
+ */package org.apache.camel.kafkaconnector.mongodbsource;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSourceConnector;
diff --git a/connectors/camel-mongodb-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mongodbsource/CamelMongodbsourceSourceConnectorConfig.java b/connectors/camel-mongodb-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mongodbsource/CamelMongodbsourceSourceConnectorConfig.java
index 0141589..cc1e24d 100644
--- a/connectors/camel-mongodb-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mongodbsource/CamelMongodbsourceSourceConnectorConfig.java
+++ b/connectors/camel-mongodb-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mongodbsource/CamelMongodbsourceSourceConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.mongodbsource;
+ */package org.apache.camel.kafkaconnector.mongodbsource;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-mongodb-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mongodbsource/CamelMongodbsourceSourceTask.java b/connectors/camel-mongodb-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mongodbsource/CamelMongodbsourceSourceTask.java
index 8c36e60..89ad3d9 100644
--- a/connectors/camel-mongodb-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mongodbsource/CamelMongodbsourceSourceTask.java
+++ b/connectors/camel-mongodb-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mongodbsource/CamelMongodbsourceSourceTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.mongodbsource;
+ */package org.apache.camel.kafkaconnector.mongodbsource;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-mqtt-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mqttsink/CamelMqttsinkSinkConnector.java b/connectors/camel-mqtt-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mqttsink/CamelMqttsinkSinkConnector.java
index 5775d4e..cadb23e 100644
--- a/connectors/camel-mqtt-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mqttsink/CamelMqttsinkSinkConnector.java
+++ b/connectors/camel-mqtt-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mqttsink/CamelMqttsinkSinkConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.mqttsink;
+ */package org.apache.camel.kafkaconnector.mqttsink;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSinkConnector;
diff --git a/connectors/camel-mqtt-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mqttsink/CamelMqttsinkSinkConnectorConfig.java b/connectors/camel-mqtt-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mqttsink/CamelMqttsinkSinkConnectorConfig.java
index 749df7c..63fdc39 100644
--- a/connectors/camel-mqtt-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mqttsink/CamelMqttsinkSinkConnectorConfig.java
+++ b/connectors/camel-mqtt-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mqttsink/CamelMqttsinkSinkConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.mqttsink;
+ */package org.apache.camel.kafkaconnector.mqttsink;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-mqtt-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mqttsink/CamelMqttsinkSinkTask.java b/connectors/camel-mqtt-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mqttsink/CamelMqttsinkSinkTask.java
index d3f9b19..95ce5d6 100644
--- a/connectors/camel-mqtt-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mqttsink/CamelMqttsinkSinkTask.java
+++ b/connectors/camel-mqtt-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mqttsink/CamelMqttsinkSinkTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.mqttsink;
+ */package org.apache.camel.kafkaconnector.mqttsink;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-mqtt-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mqttsource/CamelMqttsourceSourceConnector.java b/connectors/camel-mqtt-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mqttsource/CamelMqttsourceSourceConnector.java
index e7465ff..1656b74 100644
--- a/connectors/camel-mqtt-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mqttsource/CamelMqttsourceSourceConnector.java
+++ b/connectors/camel-mqtt-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mqttsource/CamelMqttsourceSourceConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.mqttsource;
+ */package org.apache.camel.kafkaconnector.mqttsource;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSourceConnector;
diff --git a/connectors/camel-mqtt-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mqttsource/CamelMqttsourceSourceConnectorConfig.java b/connectors/camel-mqtt-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mqttsource/CamelMqttsourceSourceConnectorConfig.java
index a7d2d49..d4f6318 100644
--- a/connectors/camel-mqtt-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mqttsource/CamelMqttsourceSourceConnectorConfig.java
+++ b/connectors/camel-mqtt-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mqttsource/CamelMqttsourceSourceConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.mqttsource;
+ */package org.apache.camel.kafkaconnector.mqttsource;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-mqtt-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mqttsource/CamelMqttsourceSourceTask.java b/connectors/camel-mqtt-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mqttsource/CamelMqttsourceSourceTask.java
index a3a47e2..2a9ef19 100644
--- a/connectors/camel-mqtt-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mqttsource/CamelMqttsourceSourceTask.java
+++ b/connectors/camel-mqtt-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mqttsource/CamelMqttsourceSourceTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.mqttsource;
+ */package org.apache.camel.kafkaconnector.mqttsource;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-mqtt5-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mqtt5sink/CamelMqtt5sinkSinkConnector.java b/connectors/camel-mqtt5-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mqtt5sink/CamelMqtt5sinkSinkConnector.java
index 6db2bd2..8072837 100644
--- a/connectors/camel-mqtt5-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mqtt5sink/CamelMqtt5sinkSinkConnector.java
+++ b/connectors/camel-mqtt5-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mqtt5sink/CamelMqtt5sinkSinkConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.mqtt5sink;
+ */package org.apache.camel.kafkaconnector.mqtt5sink;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSinkConnector;
diff --git a/connectors/camel-mqtt5-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mqtt5sink/CamelMqtt5sinkSinkConnectorConfig.java b/connectors/camel-mqtt5-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mqtt5sink/CamelMqtt5sinkSinkConnectorConfig.java
index 5c0fd90..9214220 100644
--- a/connectors/camel-mqtt5-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mqtt5sink/CamelMqtt5sinkSinkConnectorConfig.java
+++ b/connectors/camel-mqtt5-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mqtt5sink/CamelMqtt5sinkSinkConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.mqtt5sink;
+ */package org.apache.camel.kafkaconnector.mqtt5sink;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-mqtt5-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mqtt5sink/CamelMqtt5sinkSinkTask.java b/connectors/camel-mqtt5-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mqtt5sink/CamelMqtt5sinkSinkTask.java
index 7b5da37..867a5b6 100644
--- a/connectors/camel-mqtt5-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mqtt5sink/CamelMqtt5sinkSinkTask.java
+++ b/connectors/camel-mqtt5-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mqtt5sink/CamelMqtt5sinkSinkTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.mqtt5sink;
+ */package org.apache.camel.kafkaconnector.mqtt5sink;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-mqtt5-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mqtt5source/CamelMqtt5sourceSourceConnector.java b/connectors/camel-mqtt5-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mqtt5source/CamelMqtt5sourceSourceConnector.java
index 7f61d18..520fbce 100644
--- a/connectors/camel-mqtt5-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mqtt5source/CamelMqtt5sourceSourceConnector.java
+++ b/connectors/camel-mqtt5-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mqtt5source/CamelMqtt5sourceSourceConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.mqtt5source;
+ */package org.apache.camel.kafkaconnector.mqtt5source;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSourceConnector;
diff --git a/connectors/camel-mqtt5-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mqtt5source/CamelMqtt5sourceSourceConnectorConfig.java b/connectors/camel-mqtt5-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mqtt5source/CamelMqtt5sourceSourceConnectorConfig.java
index dfcefe8..e78c5e1 100644
--- a/connectors/camel-mqtt5-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mqtt5source/CamelMqtt5sourceSourceConnectorConfig.java
+++ b/connectors/camel-mqtt5-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mqtt5source/CamelMqtt5sourceSourceConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.mqtt5source;
+ */package org.apache.camel.kafkaconnector.mqtt5source;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-mqtt5-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mqtt5source/CamelMqtt5sourceSourceTask.java b/connectors/camel-mqtt5-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mqtt5source/CamelMqtt5sourceSourceTask.java
index 95ac895..e0e223e 100644
--- a/connectors/camel-mqtt5-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mqtt5source/CamelMqtt5sourceSourceTask.java
+++ b/connectors/camel-mqtt5-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mqtt5source/CamelMqtt5sourceSourceTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.mqtt5source;
+ */package org.apache.camel.kafkaconnector.mqtt5source;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-mysql-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mysqlsink/CamelMysqlsinkSinkConnector.java b/connectors/camel-mysql-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mysqlsink/CamelMysqlsinkSinkConnector.java
index dcb4012..0818534 100644
--- a/connectors/camel-mysql-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mysqlsink/CamelMysqlsinkSinkConnector.java
+++ b/connectors/camel-mysql-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mysqlsink/CamelMysqlsinkSinkConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.mysqlsink;
+ */package org.apache.camel.kafkaconnector.mysqlsink;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSinkConnector;
diff --git a/connectors/camel-mysql-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mysqlsink/CamelMysqlsinkSinkConnectorConfig.java b/connectors/camel-mysql-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mysqlsink/CamelMysqlsinkSinkConnectorConfig.java
index 43a7765..8f46d91 100644
--- a/connectors/camel-mysql-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mysqlsink/CamelMysqlsinkSinkConnectorConfig.java
+++ b/connectors/camel-mysql-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mysqlsink/CamelMysqlsinkSinkConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.mysqlsink;
+ */package org.apache.camel.kafkaconnector.mysqlsink;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-mysql-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mysqlsink/CamelMysqlsinkSinkTask.java b/connectors/camel-mysql-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mysqlsink/CamelMysqlsinkSinkTask.java
index af8092b..62038da 100644
--- a/connectors/camel-mysql-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mysqlsink/CamelMysqlsinkSinkTask.java
+++ b/connectors/camel-mysql-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mysqlsink/CamelMysqlsinkSinkTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.mysqlsink;
+ */package org.apache.camel.kafkaconnector.mysqlsink;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-mysql-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mysqlsource/CamelMysqlsourceSourceConnector.java b/connectors/camel-mysql-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mysqlsource/CamelMysqlsourceSourceConnector.java
index 53bd73a..427069d 100644
--- a/connectors/camel-mysql-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mysqlsource/CamelMysqlsourceSourceConnector.java
+++ b/connectors/camel-mysql-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mysqlsource/CamelMysqlsourceSourceConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.mysqlsource;
+ */package org.apache.camel.kafkaconnector.mysqlsource;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSourceConnector;
diff --git a/connectors/camel-mysql-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mysqlsource/CamelMysqlsourceSourceConnectorConfig.java b/connectors/camel-mysql-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mysqlsource/CamelMysqlsourceSourceConnectorConfig.java
index d4e9181..b23bca3 100644
--- a/connectors/camel-mysql-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mysqlsource/CamelMysqlsourceSourceConnectorConfig.java
+++ b/connectors/camel-mysql-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mysqlsource/CamelMysqlsourceSourceConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.mysqlsource;
+ */package org.apache.camel.kafkaconnector.mysqlsource;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-mysql-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mysqlsource/CamelMysqlsourceSourceTask.java b/connectors/camel-mysql-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mysqlsource/CamelMysqlsourceSourceTask.java
index 28b895c..14ba1bc 100644
--- a/connectors/camel-mysql-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mysqlsource/CamelMysqlsourceSourceTask.java
+++ b/connectors/camel-mysql-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mysqlsource/CamelMysqlsourceSourceTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.mysqlsource;
+ */package org.apache.camel.kafkaconnector.mysqlsource;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-nats-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/natssink/CamelNatssinkSinkConnector.java b/connectors/camel-nats-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/natssink/CamelNatssinkSinkConnector.java
index c3ce5c4..3eaa0df 100644
--- a/connectors/camel-nats-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/natssink/CamelNatssinkSinkConnector.java
+++ b/connectors/camel-nats-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/natssink/CamelNatssinkSinkConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.natssink;
+ */package org.apache.camel.kafkaconnector.natssink;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSinkConnector;
diff --git a/connectors/camel-nats-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/natssink/CamelNatssinkSinkConnectorConfig.java b/connectors/camel-nats-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/natssink/CamelNatssinkSinkConnectorConfig.java
index b89c2c8..2191b33 100644
--- a/connectors/camel-nats-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/natssink/CamelNatssinkSinkConnectorConfig.java
+++ b/connectors/camel-nats-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/natssink/CamelNatssinkSinkConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.natssink;
+ */package org.apache.camel.kafkaconnector.natssink;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-nats-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/natssink/CamelNatssinkSinkTask.java b/connectors/camel-nats-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/natssink/CamelNatssinkSinkTask.java
index 59df111..c639828 100644
--- a/connectors/camel-nats-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/natssink/CamelNatssinkSinkTask.java
+++ b/connectors/camel-nats-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/natssink/CamelNatssinkSinkTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.natssink;
+ */package org.apache.camel.kafkaconnector.natssink;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-nats-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/natssource/CamelNatssourceSourceConnector.java b/connectors/camel-nats-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/natssource/CamelNatssourceSourceConnector.java
index 0811948..f48821b 100644
--- a/connectors/camel-nats-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/natssource/CamelNatssourceSourceConnector.java
+++ b/connectors/camel-nats-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/natssource/CamelNatssourceSourceConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.natssource;
+ */package org.apache.camel.kafkaconnector.natssource;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSourceConnector;
diff --git a/connectors/camel-nats-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/natssource/CamelNatssourceSourceConnectorConfig.java b/connectors/camel-nats-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/natssource/CamelNatssourceSourceConnectorConfig.java
index ca7d358..edff56d 100644
--- a/connectors/camel-nats-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/natssource/CamelNatssourceSourceConnectorConfig.java
+++ b/connectors/camel-nats-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/natssource/CamelNatssourceSourceConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.natssource;
+ */package org.apache.camel.kafkaconnector.natssource;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-nats-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/natssource/CamelNatssourceSourceTask.java b/connectors/camel-nats-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/natssource/CamelNatssourceSourceTask.java
index d638fe6..6a1e4a7 100644
--- a/connectors/camel-nats-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/natssource/CamelNatssourceSourceTask.java
+++ b/connectors/camel-nats-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/natssource/CamelNatssourceSourceTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.natssource;
+ */package org.apache.camel.kafkaconnector.natssource;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-netty-http-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/nettyhttp/CamelNettyhttpSinkConnector.java b/connectors/camel-netty-http-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/nettyhttp/CamelNettyhttpSinkConnector.java
index 6073a69..1c68861 100644
--- a/connectors/camel-netty-http-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/nettyhttp/CamelNettyhttpSinkConnector.java
+++ b/connectors/camel-netty-http-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/nettyhttp/CamelNettyhttpSinkConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.nettyhttp;
+ */package org.apache.camel.kafkaconnector.nettyhttp;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSinkConnector;
diff --git a/connectors/camel-netty-http-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/nettyhttp/CamelNettyhttpSinkConnectorConfig.java b/connectors/camel-netty-http-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/nettyhttp/CamelNettyhttpSinkConnectorConfig.java
index bbc3da1..5e2b390 100644
--- a/connectors/camel-netty-http-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/nettyhttp/CamelNettyhttpSinkConnectorConfig.java
+++ b/connectors/camel-netty-http-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/nettyhttp/CamelNettyhttpSinkConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.nettyhttp;
+ */package org.apache.camel.kafkaconnector.nettyhttp;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-netty-http-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/nettyhttp/CamelNettyhttpSinkTask.java b/connectors/camel-netty-http-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/nettyhttp/CamelNettyhttpSinkTask.java
index c92d450..489c0b1 100644
--- a/connectors/camel-netty-http-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/nettyhttp/CamelNettyhttpSinkTask.java
+++ b/connectors/camel-netty-http-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/nettyhttp/CamelNettyhttpSinkTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.nettyhttp;
+ */package org.apache.camel.kafkaconnector.nettyhttp;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-netty-http-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/nettyhttp/CamelNettyhttpSourceConnector.java b/connectors/camel-netty-http-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/nettyhttp/CamelNettyhttpSourceConnector.java
index 971a40b..3cd9c96 100644
--- a/connectors/camel-netty-http-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/nettyhttp/CamelNettyhttpSourceConnector.java
+++ b/connectors/camel-netty-http-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/nettyhttp/CamelNettyhttpSourceConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.nettyhttp;
+ */package org.apache.camel.kafkaconnector.nettyhttp;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSourceConnector;
diff --git a/connectors/camel-netty-http-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/nettyhttp/CamelNettyhttpSourceConnectorConfig.java b/connectors/camel-netty-http-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/nettyhttp/CamelNettyhttpSourceConnectorConfig.java
index 1955d1a..81d7c42 100644
--- a/connectors/camel-netty-http-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/nettyhttp/CamelNettyhttpSourceConnectorConfig.java
+++ b/connectors/camel-netty-http-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/nettyhttp/CamelNettyhttpSourceConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.nettyhttp;
+ */package org.apache.camel.kafkaconnector.nettyhttp;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-netty-http-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/nettyhttp/CamelNettyhttpSourceTask.java b/connectors/camel-netty-http-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/nettyhttp/CamelNettyhttpSourceTask.java
index 3ab8d6c..910f28e 100644
--- a/connectors/camel-netty-http-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/nettyhttp/CamelNettyhttpSourceTask.java
+++ b/connectors/camel-netty-http-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/nettyhttp/CamelNettyhttpSourceTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.nettyhttp;
+ */package org.apache.camel.kafkaconnector.nettyhttp;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-netty-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/netty/CamelNettySinkConnector.java b/connectors/camel-netty-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/netty/CamelNettySinkConnector.java
index 8b2d5e1..9c790d3 100644
--- a/connectors/camel-netty-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/netty/CamelNettySinkConnector.java
+++ b/connectors/camel-netty-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/netty/CamelNettySinkConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.netty;
+ */package org.apache.camel.kafkaconnector.netty;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSinkConnector;
diff --git a/connectors/camel-netty-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/netty/CamelNettySinkConnectorConfig.java b/connectors/camel-netty-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/netty/CamelNettySinkConnectorConfig.java
index 6a22160..76774eb 100644
--- a/connectors/camel-netty-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/netty/CamelNettySinkConnectorConfig.java
+++ b/connectors/camel-netty-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/netty/CamelNettySinkConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.netty;
+ */package org.apache.camel.kafkaconnector.netty;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-netty-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/netty/CamelNettySinkTask.java b/connectors/camel-netty-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/netty/CamelNettySinkTask.java
index 4667be7..4b6a5ce 100644
--- a/connectors/camel-netty-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/netty/CamelNettySinkTask.java
+++ b/connectors/camel-netty-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/netty/CamelNettySinkTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.netty;
+ */package org.apache.camel.kafkaconnector.netty;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-netty-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/netty/CamelNettySourceConnector.java b/connectors/camel-netty-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/netty/CamelNettySourceConnector.java
index 7ad6f59..f80c342 100644
--- a/connectors/camel-netty-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/netty/CamelNettySourceConnector.java
+++ b/connectors/camel-netty-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/netty/CamelNettySourceConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.netty;
+ */package org.apache.camel.kafkaconnector.netty;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSourceConnector;
diff --git a/connectors/camel-netty-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/netty/CamelNettySourceConnectorConfig.java b/connectors/camel-netty-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/netty/CamelNettySourceConnectorConfig.java
index d75a7c7..c60c303 100644
--- a/connectors/camel-netty-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/netty/CamelNettySourceConnectorConfig.java
+++ b/connectors/camel-netty-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/netty/CamelNettySourceConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.netty;
+ */package org.apache.camel.kafkaconnector.netty;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-netty-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/netty/CamelNettySourceTask.java b/connectors/camel-netty-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/netty/CamelNettySourceTask.java
index f9dc044..1beac98 100644
--- a/connectors/camel-netty-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/netty/CamelNettySourceTask.java
+++ b/connectors/camel-netty-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/netty/CamelNettySourceTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.netty;
+ */package org.apache.camel.kafkaconnector.netty;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-opensearch-index-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/opensearchindexsink/CamelOpensearchindexsinkSinkConnector.java b/connectors/camel-opensearch-index-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/opensearchindexsink/CamelOpensearchindexsinkSinkConnector.java
index a5c8af7..c5e8160 100644
--- a/connectors/camel-opensearch-index-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/opensearchindexsink/CamelOpensearchindexsinkSinkConnector.java
+++ b/connectors/camel-opensearch-index-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/opensearchindexsink/CamelOpensearchindexsinkSinkConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.opensearchindexsink;
+ */package org.apache.camel.kafkaconnector.opensearchindexsink;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSinkConnector;
diff --git a/connectors/camel-opensearch-index-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/opensearchindexsink/CamelOpensearchindexsinkSinkConnectorConfig.java b/connectors/camel-opensearch-index-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/opensearchindexsink/CamelOpensearchindexsinkSinkConnectorConfig.java
index 907876e..50f4545 100644
--- a/connectors/camel-opensearch-index-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/opensearchindexsink/CamelOpensearchindexsinkSinkConnectorConfig.java
+++ b/connectors/camel-opensearch-index-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/opensearchindexsink/CamelOpensearchindexsinkSinkConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.opensearchindexsink;
+ */package org.apache.camel.kafkaconnector.opensearchindexsink;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-opensearch-index-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/opensearchindexsink/CamelOpensearchindexsinkSinkTask.java b/connectors/camel-opensearch-index-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/opensearchindexsink/CamelOpensearchindexsinkSinkTask.java
index c18288b..5e7efa2 100644
--- a/connectors/camel-opensearch-index-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/opensearchindexsink/CamelOpensearchindexsinkSinkTask.java
+++ b/connectors/camel-opensearch-index-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/opensearchindexsink/CamelOpensearchindexsinkSinkTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.opensearchindexsink;
+ */package org.apache.camel.kafkaconnector.opensearchindexsink;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-opensearch-search-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/opensearchsearchsource/CamelOpensearchsearchsourceSourceConnector.java b/connectors/camel-opensearch-search-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/opensearchsearchsource/CamelOpensearchsearchsourceSourceConnector.java
index 8f8579f..fe86913 100644
--- a/connectors/camel-opensearch-search-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/opensearchsearchsource/CamelOpensearchsearchsourceSourceConnector.java
+++ b/connectors/camel-opensearch-search-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/opensearchsearchsource/CamelOpensearchsearchsourceSourceConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.opensearchsearchsource;
+ */package org.apache.camel.kafkaconnector.opensearchsearchsource;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSourceConnector;
diff --git a/connectors/camel-opensearch-search-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/opensearchsearchsource/CamelOpensearchsearchsourceSourceConnectorConfig.java b/connectors/camel-opensearch-search-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/opensearchsearchsource/CamelOpensearchsearchsourceSourceConnectorConfig.java
index 387363d..7855b87 100644
--- a/connectors/camel-opensearch-search-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/opensearchsearchsource/CamelOpensearchsearchsourceSourceConnectorConfig.java
+++ b/connectors/camel-opensearch-search-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/opensearchsearchsource/CamelOpensearchsearchsourceSourceConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.opensearchsearchsource;
+ */package org.apache.camel.kafkaconnector.opensearchsearchsource;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-opensearch-search-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/opensearchsearchsource/CamelOpensearchsearchsourceSourceTask.java b/connectors/camel-opensearch-search-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/opensearchsearchsource/CamelOpensearchsearchsourceSourceTask.java
index 5c3b2bd..608899d 100644
--- a/connectors/camel-opensearch-search-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/opensearchsearchsource/CamelOpensearchsearchsourceSourceTask.java
+++ b/connectors/camel-opensearch-search-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/opensearchsearchsource/CamelOpensearchsearchsourceSourceTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.opensearchsearchsource;
+ */package org.apache.camel.kafkaconnector.opensearchsearchsource;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-oracle-database-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/oracledatabasesink/CamelOracledatabasesinkSinkConnector.java b/connectors/camel-oracle-database-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/oracledatabasesink/CamelOracledatabasesinkSinkConnector.java
index 1d76e1f..18f65aa 100644
--- a/connectors/camel-oracle-database-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/oracledatabasesink/CamelOracledatabasesinkSinkConnector.java
+++ b/connectors/camel-oracle-database-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/oracledatabasesink/CamelOracledatabasesinkSinkConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.oracledatabasesink;
+ */package org.apache.camel.kafkaconnector.oracledatabasesink;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSinkConnector;
diff --git a/connectors/camel-oracle-database-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/oracledatabasesink/CamelOracledatabasesinkSinkConnectorConfig.java b/connectors/camel-oracle-database-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/oracledatabasesink/CamelOracledatabasesinkSinkConnectorConfig.java
index 8747a86..409965e 100644
--- a/connectors/camel-oracle-database-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/oracledatabasesink/CamelOracledatabasesinkSinkConnectorConfig.java
+++ b/connectors/camel-oracle-database-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/oracledatabasesink/CamelOracledatabasesinkSinkConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.oracledatabasesink;
+ */package org.apache.camel.kafkaconnector.oracledatabasesink;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-oracle-database-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/oracledatabasesink/CamelOracledatabasesinkSinkTask.java b/connectors/camel-oracle-database-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/oracledatabasesink/CamelOracledatabasesinkSinkTask.java
index f735048..e151e48 100644
--- a/connectors/camel-oracle-database-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/oracledatabasesink/CamelOracledatabasesinkSinkTask.java
+++ b/connectors/camel-oracle-database-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/oracledatabasesink/CamelOracledatabasesinkSinkTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.oracledatabasesink;
+ */package org.apache.camel.kafkaconnector.oracledatabasesink;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-oracle-database-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/oracledatabasesource/CamelOracledatabasesourceSourceConnector.java b/connectors/camel-oracle-database-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/oracledatabasesource/CamelOracledatabasesourceSourceConnector.java
index bc0b30f..77dd348 100644
--- a/connectors/camel-oracle-database-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/oracledatabasesource/CamelOracledatabasesourceSourceConnector.java
+++ b/connectors/camel-oracle-database-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/oracledatabasesource/CamelOracledatabasesourceSourceConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.oracledatabasesource;
+ */package org.apache.camel.kafkaconnector.oracledatabasesource;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSourceConnector;
diff --git a/connectors/camel-oracle-database-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/oracledatabasesource/CamelOracledatabasesourceSourceConnectorConfig.java b/connectors/camel-oracle-database-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/oracledatabasesource/CamelOracledatabasesourceSourceConnectorConfig.java
index 72e08c9..e65faa4 100644
--- a/connectors/camel-oracle-database-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/oracledatabasesource/CamelOracledatabasesourceSourceConnectorConfig.java
+++ b/connectors/camel-oracle-database-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/oracledatabasesource/CamelOracledatabasesourceSourceConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.oracledatabasesource;
+ */package org.apache.camel.kafkaconnector.oracledatabasesource;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-oracle-database-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/oracledatabasesource/CamelOracledatabasesourceSourceTask.java b/connectors/camel-oracle-database-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/oracledatabasesource/CamelOracledatabasesourceSourceTask.java
index 7ea8f31..72e1471 100644
--- a/connectors/camel-oracle-database-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/oracledatabasesource/CamelOracledatabasesourceSourceTask.java
+++ b/connectors/camel-oracle-database-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/oracledatabasesource/CamelOracledatabasesourceSourceTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.oracledatabasesource;
+ */package org.apache.camel.kafkaconnector.oracledatabasesource;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-postgresql-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/postgresqlsink/CamelPostgresqlsinkSinkConnector.java b/connectors/camel-postgresql-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/postgresqlsink/CamelPostgresqlsinkSinkConnector.java
index e755493..56b5367 100644
--- a/connectors/camel-postgresql-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/postgresqlsink/CamelPostgresqlsinkSinkConnector.java
+++ b/connectors/camel-postgresql-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/postgresqlsink/CamelPostgresqlsinkSinkConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.postgresqlsink;
+ */package org.apache.camel.kafkaconnector.postgresqlsink;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSinkConnector;
diff --git a/connectors/camel-postgresql-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/postgresqlsink/CamelPostgresqlsinkSinkConnectorConfig.java b/connectors/camel-postgresql-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/postgresqlsink/CamelPostgresqlsinkSinkConnectorConfig.java
index 112d959..ea5f732 100644
--- a/connectors/camel-postgresql-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/postgresqlsink/CamelPostgresqlsinkSinkConnectorConfig.java
+++ b/connectors/camel-postgresql-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/postgresqlsink/CamelPostgresqlsinkSinkConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.postgresqlsink;
+ */package org.apache.camel.kafkaconnector.postgresqlsink;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-postgresql-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/postgresqlsink/CamelPostgresqlsinkSinkTask.java b/connectors/camel-postgresql-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/postgresqlsink/CamelPostgresqlsinkSinkTask.java
index 9593d8a..75e724b 100644
--- a/connectors/camel-postgresql-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/postgresqlsink/CamelPostgresqlsinkSinkTask.java
+++ b/connectors/camel-postgresql-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/postgresqlsink/CamelPostgresqlsinkSinkTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.postgresqlsink;
+ */package org.apache.camel.kafkaconnector.postgresqlsink;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-postgresql-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/postgresqlsource/CamelPostgresqlsourceSourceConnector.java b/connectors/camel-postgresql-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/postgresqlsource/CamelPostgresqlsourceSourceConnector.java
index e2637e3..055c3b4 100644
--- a/connectors/camel-postgresql-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/postgresqlsource/CamelPostgresqlsourceSourceConnector.java
+++ b/connectors/camel-postgresql-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/postgresqlsource/CamelPostgresqlsourceSourceConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.postgresqlsource;
+ */package org.apache.camel.kafkaconnector.postgresqlsource;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSourceConnector;
diff --git a/connectors/camel-postgresql-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/postgresqlsource/CamelPostgresqlsourceSourceConnectorConfig.java b/connectors/camel-postgresql-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/postgresqlsource/CamelPostgresqlsourceSourceConnectorConfig.java
index c624902..b97818b 100644
--- a/connectors/camel-postgresql-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/postgresqlsource/CamelPostgresqlsourceSourceConnectorConfig.java
+++ b/connectors/camel-postgresql-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/postgresqlsource/CamelPostgresqlsourceSourceConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.postgresqlsource;
+ */package org.apache.camel.kafkaconnector.postgresqlsource;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-postgresql-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/postgresqlsource/CamelPostgresqlsourceSourceTask.java b/connectors/camel-postgresql-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/postgresqlsource/CamelPostgresqlsourceSourceTask.java
index 0cf879c..6bcefcc 100644
--- a/connectors/camel-postgresql-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/postgresqlsource/CamelPostgresqlsourceSourceTask.java
+++ b/connectors/camel-postgresql-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/postgresqlsource/CamelPostgresqlsourceSourceTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.postgresqlsource;
+ */package org.apache.camel.kafkaconnector.postgresqlsource;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-pulsar-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/pulsarsink/CamelPulsarsinkSinkConnector.java b/connectors/camel-pulsar-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/pulsarsink/CamelPulsarsinkSinkConnector.java
index be01a16..a5c537f 100644
--- a/connectors/camel-pulsar-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/pulsarsink/CamelPulsarsinkSinkConnector.java
+++ b/connectors/camel-pulsar-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/pulsarsink/CamelPulsarsinkSinkConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.pulsarsink;
+ */package org.apache.camel.kafkaconnector.pulsarsink;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSinkConnector;
diff --git a/connectors/camel-pulsar-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/pulsarsink/CamelPulsarsinkSinkConnectorConfig.java b/connectors/camel-pulsar-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/pulsarsink/CamelPulsarsinkSinkConnectorConfig.java
index 0b7fff8..5a00593 100644
--- a/connectors/camel-pulsar-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/pulsarsink/CamelPulsarsinkSinkConnectorConfig.java
+++ b/connectors/camel-pulsar-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/pulsarsink/CamelPulsarsinkSinkConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.pulsarsink;
+ */package org.apache.camel.kafkaconnector.pulsarsink;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-pulsar-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/pulsarsink/CamelPulsarsinkSinkTask.java b/connectors/camel-pulsar-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/pulsarsink/CamelPulsarsinkSinkTask.java
index 1b6f491..d0adfe1 100644
--- a/connectors/camel-pulsar-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/pulsarsink/CamelPulsarsinkSinkTask.java
+++ b/connectors/camel-pulsar-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/pulsarsink/CamelPulsarsinkSinkTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.pulsarsink;
+ */package org.apache.camel.kafkaconnector.pulsarsink;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-pulsar-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/pulsarsource/CamelPulsarsourceSourceConnector.java b/connectors/camel-pulsar-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/pulsarsource/CamelPulsarsourceSourceConnector.java
index ed7211e..a49166b 100644
--- a/connectors/camel-pulsar-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/pulsarsource/CamelPulsarsourceSourceConnector.java
+++ b/connectors/camel-pulsar-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/pulsarsource/CamelPulsarsourceSourceConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.pulsarsource;
+ */package org.apache.camel.kafkaconnector.pulsarsource;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSourceConnector;
diff --git a/connectors/camel-pulsar-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/pulsarsource/CamelPulsarsourceSourceConnectorConfig.java b/connectors/camel-pulsar-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/pulsarsource/CamelPulsarsourceSourceConnectorConfig.java
index a1ddd31..551082b 100644
--- a/connectors/camel-pulsar-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/pulsarsource/CamelPulsarsourceSourceConnectorConfig.java
+++ b/connectors/camel-pulsar-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/pulsarsource/CamelPulsarsourceSourceConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.pulsarsource;
+ */package org.apache.camel.kafkaconnector.pulsarsource;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-pulsar-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/pulsarsource/CamelPulsarsourceSourceTask.java b/connectors/camel-pulsar-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/pulsarsource/CamelPulsarsourceSourceTask.java
index a1dec54..ecacf02 100644
--- a/connectors/camel-pulsar-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/pulsarsource/CamelPulsarsourceSourceTask.java
+++ b/connectors/camel-pulsar-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/pulsarsource/CamelPulsarsourceSourceTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.pulsarsource;
+ */package org.apache.camel.kafkaconnector.pulsarsource;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-redis-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/redissink/CamelRedissinkSinkConnector.java b/connectors/camel-redis-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/redissink/CamelRedissinkSinkConnector.java
index aa5f975..3756ccc 100644
--- a/connectors/camel-redis-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/redissink/CamelRedissinkSinkConnector.java
+++ b/connectors/camel-redis-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/redissink/CamelRedissinkSinkConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.redissink;
+ */package org.apache.camel.kafkaconnector.redissink;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSinkConnector;
diff --git a/connectors/camel-redis-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/redissink/CamelRedissinkSinkConnectorConfig.java b/connectors/camel-redis-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/redissink/CamelRedissinkSinkConnectorConfig.java
index 0f07b09..e6552dc 100644
--- a/connectors/camel-redis-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/redissink/CamelRedissinkSinkConnectorConfig.java
+++ b/connectors/camel-redis-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/redissink/CamelRedissinkSinkConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.redissink;
+ */package org.apache.camel.kafkaconnector.redissink;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-redis-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/redissink/CamelRedissinkSinkTask.java b/connectors/camel-redis-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/redissink/CamelRedissinkSinkTask.java
index b611a5e..6c3d2a9 100644
--- a/connectors/camel-redis-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/redissink/CamelRedissinkSinkTask.java
+++ b/connectors/camel-redis-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/redissink/CamelRedissinkSinkTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.redissink;
+ */package org.apache.camel.kafkaconnector.redissink;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-redis-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/redissource/CamelRedissourceSourceConnector.java b/connectors/camel-redis-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/redissource/CamelRedissourceSourceConnector.java
index 34431b3..1283493 100644
--- a/connectors/camel-redis-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/redissource/CamelRedissourceSourceConnector.java
+++ b/connectors/camel-redis-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/redissource/CamelRedissourceSourceConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.redissource;
+ */package org.apache.camel.kafkaconnector.redissource;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSourceConnector;
diff --git a/connectors/camel-redis-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/redissource/CamelRedissourceSourceConnectorConfig.java b/connectors/camel-redis-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/redissource/CamelRedissourceSourceConnectorConfig.java
index ed8419c..e031d85 100644
--- a/connectors/camel-redis-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/redissource/CamelRedissourceSourceConnectorConfig.java
+++ b/connectors/camel-redis-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/redissource/CamelRedissourceSourceConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.redissource;
+ */package org.apache.camel.kafkaconnector.redissource;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-redis-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/redissource/CamelRedissourceSourceTask.java b/connectors/camel-redis-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/redissource/CamelRedissourceSourceTask.java
index a2f3b2c..3ca2bd4 100644
--- a/connectors/camel-redis-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/redissource/CamelRedissourceSourceTask.java
+++ b/connectors/camel-redis-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/redissource/CamelRedissourceSourceTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.redissource;
+ */package org.apache.camel.kafkaconnector.redissource;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-rest-openapi-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/restopenapisink/CamelRestopenapisinkSinkConnector.java b/connectors/camel-rest-openapi-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/restopenapisink/CamelRestopenapisinkSinkConnector.java
index 108ec6d..9430e6f 100644
--- a/connectors/camel-rest-openapi-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/restopenapisink/CamelRestopenapisinkSinkConnector.java
+++ b/connectors/camel-rest-openapi-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/restopenapisink/CamelRestopenapisinkSinkConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.restopenapisink;
+ */package org.apache.camel.kafkaconnector.restopenapisink;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSinkConnector;
diff --git a/connectors/camel-rest-openapi-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/restopenapisink/CamelRestopenapisinkSinkConnectorConfig.java b/connectors/camel-rest-openapi-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/restopenapisink/CamelRestopenapisinkSinkConnectorConfig.java
index 3a9793e..ea75c8a 100644
--- a/connectors/camel-rest-openapi-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/restopenapisink/CamelRestopenapisinkSinkConnectorConfig.java
+++ b/connectors/camel-rest-openapi-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/restopenapisink/CamelRestopenapisinkSinkConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.restopenapisink;
+ */package org.apache.camel.kafkaconnector.restopenapisink;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-rest-openapi-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/restopenapisink/CamelRestopenapisinkSinkTask.java b/connectors/camel-rest-openapi-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/restopenapisink/CamelRestopenapisinkSinkTask.java
index 6ce1508..f46d0d6 100644
--- a/connectors/camel-rest-openapi-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/restopenapisink/CamelRestopenapisinkSinkTask.java
+++ b/connectors/camel-rest-openapi-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/restopenapisink/CamelRestopenapisinkSinkTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.restopenapisink;
+ */package org.apache.camel.kafkaconnector.restopenapisink;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-salesforce-composite-upsert-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/salesforcecompositeupsertsink/CamelSalesforcecompositeupsertsinkSinkConnector.java b/connectors/camel-salesforce-composite-upsert-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/salesforcecompositeupsertsink/CamelSalesforcecompositeupsertsinkSinkConnector.java
index 690b2a5..2b51ee0 100644
--- a/connectors/camel-salesforce-composite-upsert-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/salesforcecompositeupsertsink/CamelSalesforcecompositeupsertsinkSinkConnector.java
+++ b/connectors/camel-salesforce-composite-upsert-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/salesforcecompositeupsertsink/CamelSalesforcecompositeupsertsinkSinkConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.salesforcecompositeupsertsink;
+ */package org.apache.camel.kafkaconnector.salesforcecompositeupsertsink;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSinkConnector;
diff --git a/connectors/camel-salesforce-composite-upsert-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/salesforcecompositeupsertsink/CamelSalesforcecompositeupsertsinkSinkConnectorConfig.java b/connectors/camel-salesforce-composite-upsert-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/salesforcecompositeupsertsink/CamelSalesforcecompositeupsertsinkSinkConnectorConfig.java
index f10a57b..f8852d4 100644
--- a/connectors/camel-salesforce-composite-upsert-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/salesforcecompositeupsertsink/CamelSalesforcecompositeupsertsinkSinkConnectorConfig.java
+++ b/connectors/camel-salesforce-composite-upsert-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/salesforcecompositeupsertsink/CamelSalesforcecompositeupsertsinkSinkConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.salesforcecompositeupsertsink;
+ */package org.apache.camel.kafkaconnector.salesforcecompositeupsertsink;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-salesforce-composite-upsert-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/salesforcecompositeupsertsink/CamelSalesforcecompositeupsertsinkSinkTask.java b/connectors/camel-salesforce-composite-upsert-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/salesforcecompositeupsertsink/CamelSalesforcecompositeupsertsinkSinkTask.java
index 1981a80..f148807 100644
--- a/connectors/camel-salesforce-composite-upsert-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/salesforcecompositeupsertsink/CamelSalesforcecompositeupsertsinkSinkTask.java
+++ b/connectors/camel-salesforce-composite-upsert-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/salesforcecompositeupsertsink/CamelSalesforcecompositeupsertsinkSinkTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.salesforcecompositeupsertsink;
+ */package org.apache.camel.kafkaconnector.salesforcecompositeupsertsink;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-salesforce-create-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/salesforcecreatesink/CamelSalesforcecreatesinkSinkConnector.java b/connectors/camel-salesforce-create-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/salesforcecreatesink/CamelSalesforcecreatesinkSinkConnector.java
index ffd8220..bbb66c9 100644
--- a/connectors/camel-salesforce-create-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/salesforcecreatesink/CamelSalesforcecreatesinkSinkConnector.java
+++ b/connectors/camel-salesforce-create-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/salesforcecreatesink/CamelSalesforcecreatesinkSinkConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.salesforcecreatesink;
+ */package org.apache.camel.kafkaconnector.salesforcecreatesink;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSinkConnector;
diff --git a/connectors/camel-salesforce-create-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/salesforcecreatesink/CamelSalesforcecreatesinkSinkConnectorConfig.java b/connectors/camel-salesforce-create-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/salesforcecreatesink/CamelSalesforcecreatesinkSinkConnectorConfig.java
index deeb407..9930e2b 100644
--- a/connectors/camel-salesforce-create-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/salesforcecreatesink/CamelSalesforcecreatesinkSinkConnectorConfig.java
+++ b/connectors/camel-salesforce-create-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/salesforcecreatesink/CamelSalesforcecreatesinkSinkConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.salesforcecreatesink;
+ */package org.apache.camel.kafkaconnector.salesforcecreatesink;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-salesforce-create-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/salesforcecreatesink/CamelSalesforcecreatesinkSinkTask.java b/connectors/camel-salesforce-create-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/salesforcecreatesink/CamelSalesforcecreatesinkSinkTask.java
index d437163..9b77019 100644
--- a/connectors/camel-salesforce-create-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/salesforcecreatesink/CamelSalesforcecreatesinkSinkTask.java
+++ b/connectors/camel-salesforce-create-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/salesforcecreatesink/CamelSalesforcecreatesinkSinkTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.salesforcecreatesink;
+ */package org.apache.camel.kafkaconnector.salesforcecreatesink;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-salesforce-delete-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/salesforcedeletesink/CamelSalesforcedeletesinkSinkConnector.java b/connectors/camel-salesforce-delete-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/salesforcedeletesink/CamelSalesforcedeletesinkSinkConnector.java
index 7b7b145..e9d032d 100644
--- a/connectors/camel-salesforce-delete-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/salesforcedeletesink/CamelSalesforcedeletesinkSinkConnector.java
+++ b/connectors/camel-salesforce-delete-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/salesforcedeletesink/CamelSalesforcedeletesinkSinkConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.salesforcedeletesink;
+ */package org.apache.camel.kafkaconnector.salesforcedeletesink;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSinkConnector;
diff --git a/connectors/camel-salesforce-delete-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/salesforcedeletesink/CamelSalesforcedeletesinkSinkConnectorConfig.java b/connectors/camel-salesforce-delete-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/salesforcedeletesink/CamelSalesforcedeletesinkSinkConnectorConfig.java
index ca3d713..46b94b0 100644
--- a/connectors/camel-salesforce-delete-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/salesforcedeletesink/CamelSalesforcedeletesinkSinkConnectorConfig.java
+++ b/connectors/camel-salesforce-delete-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/salesforcedeletesink/CamelSalesforcedeletesinkSinkConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.salesforcedeletesink;
+ */package org.apache.camel.kafkaconnector.salesforcedeletesink;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-salesforce-delete-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/salesforcedeletesink/CamelSalesforcedeletesinkSinkTask.java b/connectors/camel-salesforce-delete-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/salesforcedeletesink/CamelSalesforcedeletesinkSinkTask.java
index 4966c2b..0d281da 100644
--- a/connectors/camel-salesforce-delete-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/salesforcedeletesink/CamelSalesforcedeletesinkSinkTask.java
+++ b/connectors/camel-salesforce-delete-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/salesforcedeletesink/CamelSalesforcedeletesinkSinkTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.salesforcedeletesink;
+ */package org.apache.camel.kafkaconnector.salesforcedeletesink;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-salesforce-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/salesforcesource/CamelSalesforcesourceSourceConnector.java b/connectors/camel-salesforce-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/salesforcesource/CamelSalesforcesourceSourceConnector.java
index 4268320..9011f74 100644
--- a/connectors/camel-salesforce-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/salesforcesource/CamelSalesforcesourceSourceConnector.java
+++ b/connectors/camel-salesforce-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/salesforcesource/CamelSalesforcesourceSourceConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.salesforcesource;
+ */package org.apache.camel.kafkaconnector.salesforcesource;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSourceConnector;
diff --git a/connectors/camel-salesforce-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/salesforcesource/CamelSalesforcesourceSourceConnectorConfig.java b/connectors/camel-salesforce-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/salesforcesource/CamelSalesforcesourceSourceConnectorConfig.java
index cc834e8..be0dcfe 100644
--- a/connectors/camel-salesforce-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/salesforcesource/CamelSalesforcesourceSourceConnectorConfig.java
+++ b/connectors/camel-salesforce-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/salesforcesource/CamelSalesforcesourceSourceConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.salesforcesource;
+ */package org.apache.camel.kafkaconnector.salesforcesource;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-salesforce-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/salesforcesource/CamelSalesforcesourceSourceTask.java b/connectors/camel-salesforce-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/salesforcesource/CamelSalesforcesourceSourceTask.java
index 2c78e3a..7e2dc55 100644
--- a/connectors/camel-salesforce-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/salesforcesource/CamelSalesforcesourceSourceTask.java
+++ b/connectors/camel-salesforce-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/salesforcesource/CamelSalesforcesourceSourceTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.salesforcesource;
+ */package org.apache.camel.kafkaconnector.salesforcesource;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-salesforce-update-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/salesforceupdatesink/CamelSalesforceupdatesinkSinkConnector.java b/connectors/camel-salesforce-update-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/salesforceupdatesink/CamelSalesforceupdatesinkSinkConnector.java
index b5d463b..3be0220 100644
--- a/connectors/camel-salesforce-update-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/salesforceupdatesink/CamelSalesforceupdatesinkSinkConnector.java
+++ b/connectors/camel-salesforce-update-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/salesforceupdatesink/CamelSalesforceupdatesinkSinkConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.salesforceupdatesink;
+ */package org.apache.camel.kafkaconnector.salesforceupdatesink;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSinkConnector;
diff --git a/connectors/camel-salesforce-update-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/salesforceupdatesink/CamelSalesforceupdatesinkSinkConnectorConfig.java b/connectors/camel-salesforce-update-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/salesforceupdatesink/CamelSalesforceupdatesinkSinkConnectorConfig.java
index 628e94b..22fdd44 100644
--- a/connectors/camel-salesforce-update-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/salesforceupdatesink/CamelSalesforceupdatesinkSinkConnectorConfig.java
+++ b/connectors/camel-salesforce-update-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/salesforceupdatesink/CamelSalesforceupdatesinkSinkConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.salesforceupdatesink;
+ */package org.apache.camel.kafkaconnector.salesforceupdatesink;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-salesforce-update-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/salesforceupdatesink/CamelSalesforceupdatesinkSinkTask.java b/connectors/camel-salesforce-update-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/salesforceupdatesink/CamelSalesforceupdatesinkSinkTask.java
index 9add602..b2757d5 100644
--- a/connectors/camel-salesforce-update-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/salesforceupdatesink/CamelSalesforceupdatesinkSinkTask.java
+++ b/connectors/camel-salesforce-update-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/salesforceupdatesink/CamelSalesforceupdatesinkSinkTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.salesforceupdatesink;
+ */package org.apache.camel.kafkaconnector.salesforceupdatesink;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-scp-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/scpsink/CamelScpsinkSinkConnector.java b/connectors/camel-scp-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/scpsink/CamelScpsinkSinkConnector.java
index cd52799..97ff45b 100644
--- a/connectors/camel-scp-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/scpsink/CamelScpsinkSinkConnector.java
+++ b/connectors/camel-scp-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/scpsink/CamelScpsinkSinkConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.scpsink;
+ */package org.apache.camel.kafkaconnector.scpsink;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSinkConnector;
diff --git a/connectors/camel-scp-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/scpsink/CamelScpsinkSinkConnectorConfig.java b/connectors/camel-scp-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/scpsink/CamelScpsinkSinkConnectorConfig.java
index 32b3d8d..a0222a2 100644
--- a/connectors/camel-scp-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/scpsink/CamelScpsinkSinkConnectorConfig.java
+++ b/connectors/camel-scp-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/scpsink/CamelScpsinkSinkConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.scpsink;
+ */package org.apache.camel.kafkaconnector.scpsink;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-scp-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/scpsink/CamelScpsinkSinkTask.java b/connectors/camel-scp-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/scpsink/CamelScpsinkSinkTask.java
index 909d946..7383bb1 100644
--- a/connectors/camel-scp-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/scpsink/CamelScpsinkSinkTask.java
+++ b/connectors/camel-scp-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/scpsink/CamelScpsinkSinkTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.scpsink;
+ */package org.apache.camel.kafkaconnector.scpsink;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-sftp-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/sftpsink/CamelSftpsinkSinkConnector.java b/connectors/camel-sftp-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/sftpsink/CamelSftpsinkSinkConnector.java
index cdbd392..51d398e 100644
--- a/connectors/camel-sftp-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/sftpsink/CamelSftpsinkSinkConnector.java
+++ b/connectors/camel-sftp-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/sftpsink/CamelSftpsinkSinkConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.sftpsink;
+ */package org.apache.camel.kafkaconnector.sftpsink;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSinkConnector;
diff --git a/connectors/camel-sftp-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/sftpsink/CamelSftpsinkSinkConnectorConfig.java b/connectors/camel-sftp-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/sftpsink/CamelSftpsinkSinkConnectorConfig.java
index 2877f54..993cf39 100644
--- a/connectors/camel-sftp-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/sftpsink/CamelSftpsinkSinkConnectorConfig.java
+++ b/connectors/camel-sftp-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/sftpsink/CamelSftpsinkSinkConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.sftpsink;
+ */package org.apache.camel.kafkaconnector.sftpsink;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-sftp-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/sftpsink/CamelSftpsinkSinkTask.java b/connectors/camel-sftp-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/sftpsink/CamelSftpsinkSinkTask.java
index 373b983..fc3b55c 100644
--- a/connectors/camel-sftp-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/sftpsink/CamelSftpsinkSinkTask.java
+++ b/connectors/camel-sftp-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/sftpsink/CamelSftpsinkSinkTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.sftpsink;
+ */package org.apache.camel.kafkaconnector.sftpsink;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-sftp-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/sftpsource/CamelSftpsourceSourceConnector.java b/connectors/camel-sftp-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/sftpsource/CamelSftpsourceSourceConnector.java
index 5058b2c..0209c11 100644
--- a/connectors/camel-sftp-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/sftpsource/CamelSftpsourceSourceConnector.java
+++ b/connectors/camel-sftp-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/sftpsource/CamelSftpsourceSourceConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.sftpsource;
+ */package org.apache.camel.kafkaconnector.sftpsource;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSourceConnector;
diff --git a/connectors/camel-sftp-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/sftpsource/CamelSftpsourceSourceConnectorConfig.java b/connectors/camel-sftp-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/sftpsource/CamelSftpsourceSourceConnectorConfig.java
index 726c8c7..0557e9d 100644
--- a/connectors/camel-sftp-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/sftpsource/CamelSftpsourceSourceConnectorConfig.java
+++ b/connectors/camel-sftp-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/sftpsource/CamelSftpsourceSourceConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.sftpsource;
+ */package org.apache.camel.kafkaconnector.sftpsource;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-sftp-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/sftpsource/CamelSftpsourceSourceTask.java b/connectors/camel-sftp-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/sftpsource/CamelSftpsourceSourceTask.java
index 2eea594..dacc024 100644
--- a/connectors/camel-sftp-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/sftpsource/CamelSftpsourceSourceTask.java
+++ b/connectors/camel-sftp-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/sftpsource/CamelSftpsourceSourceTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.sftpsource;
+ */package org.apache.camel.kafkaconnector.sftpsource;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-sjms2-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/sjms2/CamelSjms2SinkConnector.java b/connectors/camel-sjms2-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/sjms2/CamelSjms2SinkConnector.java
index a57822d..a6b5f50 100644
--- a/connectors/camel-sjms2-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/sjms2/CamelSjms2SinkConnector.java
+++ b/connectors/camel-sjms2-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/sjms2/CamelSjms2SinkConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.sjms2;
+ */package org.apache.camel.kafkaconnector.sjms2;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSinkConnector;
diff --git a/connectors/camel-sjms2-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/sjms2/CamelSjms2SinkConnectorConfig.java b/connectors/camel-sjms2-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/sjms2/CamelSjms2SinkConnectorConfig.java
index 99fcff2..894183b 100644
--- a/connectors/camel-sjms2-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/sjms2/CamelSjms2SinkConnectorConfig.java
+++ b/connectors/camel-sjms2-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/sjms2/CamelSjms2SinkConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.sjms2;
+ */package org.apache.camel.kafkaconnector.sjms2;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-sjms2-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/sjms2/CamelSjms2SinkTask.java b/connectors/camel-sjms2-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/sjms2/CamelSjms2SinkTask.java
index 3d906c6..7ee5dda 100644
--- a/connectors/camel-sjms2-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/sjms2/CamelSjms2SinkTask.java
+++ b/connectors/camel-sjms2-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/sjms2/CamelSjms2SinkTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.sjms2;
+ */package org.apache.camel.kafkaconnector.sjms2;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-sjms2-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/sjms2/CamelSjms2SourceConnector.java b/connectors/camel-sjms2-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/sjms2/CamelSjms2SourceConnector.java
index cd68299..388d9bd 100644
--- a/connectors/camel-sjms2-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/sjms2/CamelSjms2SourceConnector.java
+++ b/connectors/camel-sjms2-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/sjms2/CamelSjms2SourceConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.sjms2;
+ */package org.apache.camel.kafkaconnector.sjms2;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSourceConnector;
diff --git a/connectors/camel-sjms2-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/sjms2/CamelSjms2SourceConnectorConfig.java b/connectors/camel-sjms2-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/sjms2/CamelSjms2SourceConnectorConfig.java
index 65e0743..c76038e 100644
--- a/connectors/camel-sjms2-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/sjms2/CamelSjms2SourceConnectorConfig.java
+++ b/connectors/camel-sjms2-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/sjms2/CamelSjms2SourceConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.sjms2;
+ */package org.apache.camel.kafkaconnector.sjms2;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-sjms2-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/sjms2/CamelSjms2SourceTask.java b/connectors/camel-sjms2-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/sjms2/CamelSjms2SourceTask.java
index 150be72..b5aaf5b 100644
--- a/connectors/camel-sjms2-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/sjms2/CamelSjms2SourceTask.java
+++ b/connectors/camel-sjms2-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/sjms2/CamelSjms2SourceTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.sjms2;
+ */package org.apache.camel.kafkaconnector.sjms2;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-slack-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/slacksink/CamelSlacksinkSinkConnector.java b/connectors/camel-slack-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/slacksink/CamelSlacksinkSinkConnector.java
index 55d2119..6dbf6fc 100644
--- a/connectors/camel-slack-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/slacksink/CamelSlacksinkSinkConnector.java
+++ b/connectors/camel-slack-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/slacksink/CamelSlacksinkSinkConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.slacksink;
+ */package org.apache.camel.kafkaconnector.slacksink;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSinkConnector;
diff --git a/connectors/camel-slack-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/slacksink/CamelSlacksinkSinkConnectorConfig.java b/connectors/camel-slack-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/slacksink/CamelSlacksinkSinkConnectorConfig.java
index 80c7418..4c413a4 100644
--- a/connectors/camel-slack-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/slacksink/CamelSlacksinkSinkConnectorConfig.java
+++ b/connectors/camel-slack-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/slacksink/CamelSlacksinkSinkConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.slacksink;
+ */package org.apache.camel.kafkaconnector.slacksink;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-slack-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/slacksink/CamelSlacksinkSinkTask.java b/connectors/camel-slack-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/slacksink/CamelSlacksinkSinkTask.java
index 3b43cfa..bfe3d4d 100644
--- a/connectors/camel-slack-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/slacksink/CamelSlacksinkSinkTask.java
+++ b/connectors/camel-slack-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/slacksink/CamelSlacksinkSinkTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.slacksink;
+ */package org.apache.camel.kafkaconnector.slacksink;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-slack-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/slacksource/CamelSlacksourceSourceConnector.java b/connectors/camel-slack-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/slacksource/CamelSlacksourceSourceConnector.java
index 2c9b499..94eebba 100644
--- a/connectors/camel-slack-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/slacksource/CamelSlacksourceSourceConnector.java
+++ b/connectors/camel-slack-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/slacksource/CamelSlacksourceSourceConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.slacksource;
+ */package org.apache.camel.kafkaconnector.slacksource;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSourceConnector;
diff --git a/connectors/camel-slack-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/slacksource/CamelSlacksourceSourceConnectorConfig.java b/connectors/camel-slack-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/slacksource/CamelSlacksourceSourceConnectorConfig.java
index ba17faa..3b58997 100644
--- a/connectors/camel-slack-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/slacksource/CamelSlacksourceSourceConnectorConfig.java
+++ b/connectors/camel-slack-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/slacksource/CamelSlacksourceSourceConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.slacksource;
+ */package org.apache.camel.kafkaconnector.slacksource;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-slack-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/slacksource/CamelSlacksourceSourceTask.java b/connectors/camel-slack-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/slacksource/CamelSlacksourceSourceTask.java
index 430376d..e16d96c 100644
--- a/connectors/camel-slack-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/slacksource/CamelSlacksourceSourceTask.java
+++ b/connectors/camel-slack-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/slacksource/CamelSlacksourceSourceTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.slacksource;
+ */package org.apache.camel.kafkaconnector.slacksource;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-splunk-hec-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/splunkhecsink/CamelSplunkhecsinkSinkConnector.java b/connectors/camel-splunk-hec-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/splunkhecsink/CamelSplunkhecsinkSinkConnector.java
index b7b7707..2ff8fd1 100644
--- a/connectors/camel-splunk-hec-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/splunkhecsink/CamelSplunkhecsinkSinkConnector.java
+++ b/connectors/camel-splunk-hec-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/splunkhecsink/CamelSplunkhecsinkSinkConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.splunkhecsink;
+ */package org.apache.camel.kafkaconnector.splunkhecsink;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSinkConnector;
diff --git a/connectors/camel-splunk-hec-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/splunkhecsink/CamelSplunkhecsinkSinkConnectorConfig.java b/connectors/camel-splunk-hec-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/splunkhecsink/CamelSplunkhecsinkSinkConnectorConfig.java
index 74a3745..b40c6a2 100644
--- a/connectors/camel-splunk-hec-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/splunkhecsink/CamelSplunkhecsinkSinkConnectorConfig.java
+++ b/connectors/camel-splunk-hec-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/splunkhecsink/CamelSplunkhecsinkSinkConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.splunkhecsink;
+ */package org.apache.camel.kafkaconnector.splunkhecsink;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-splunk-hec-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/splunkhecsink/CamelSplunkhecsinkSinkTask.java b/connectors/camel-splunk-hec-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/splunkhecsink/CamelSplunkhecsinkSinkTask.java
index d45293d..675342a 100644
--- a/connectors/camel-splunk-hec-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/splunkhecsink/CamelSplunkhecsinkSinkTask.java
+++ b/connectors/camel-splunk-hec-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/splunkhecsink/CamelSplunkhecsinkSinkTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.splunkhecsink;
+ */package org.apache.camel.kafkaconnector.splunkhecsink;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-splunk-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/splunksink/CamelSplunksinkSinkConnector.java b/connectors/camel-splunk-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/splunksink/CamelSplunksinkSinkConnector.java
index 2e57e90..9319178 100644
--- a/connectors/camel-splunk-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/splunksink/CamelSplunksinkSinkConnector.java
+++ b/connectors/camel-splunk-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/splunksink/CamelSplunksinkSinkConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.splunksink;
+ */package org.apache.camel.kafkaconnector.splunksink;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSinkConnector;
diff --git a/connectors/camel-splunk-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/splunksink/CamelSplunksinkSinkConnectorConfig.java b/connectors/camel-splunk-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/splunksink/CamelSplunksinkSinkConnectorConfig.java
index 0b746d2..43b61d0 100644
--- a/connectors/camel-splunk-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/splunksink/CamelSplunksinkSinkConnectorConfig.java
+++ b/connectors/camel-splunk-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/splunksink/CamelSplunksinkSinkConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.splunksink;
+ */package org.apache.camel.kafkaconnector.splunksink;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-splunk-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/splunksink/CamelSplunksinkSinkTask.java b/connectors/camel-splunk-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/splunksink/CamelSplunksinkSinkTask.java
index 124873c..b8b4757 100644
--- a/connectors/camel-splunk-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/splunksink/CamelSplunksinkSinkTask.java
+++ b/connectors/camel-splunk-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/splunksink/CamelSplunksinkSinkTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.splunksink;
+ */package org.apache.camel.kafkaconnector.splunksink;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-splunk-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/splunksource/CamelSplunksourceSourceConnector.java b/connectors/camel-splunk-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/splunksource/CamelSplunksourceSourceConnector.java
index 3c01b6a..835b45d 100644
--- a/connectors/camel-splunk-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/splunksource/CamelSplunksourceSourceConnector.java
+++ b/connectors/camel-splunk-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/splunksource/CamelSplunksourceSourceConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.splunksource;
+ */package org.apache.camel.kafkaconnector.splunksource;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSourceConnector;
diff --git a/connectors/camel-splunk-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/splunksource/CamelSplunksourceSourceConnectorConfig.java b/connectors/camel-splunk-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/splunksource/CamelSplunksourceSourceConnectorConfig.java
index 353c5cf..77d5d6d 100644
--- a/connectors/camel-splunk-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/splunksource/CamelSplunksourceSourceConnectorConfig.java
+++ b/connectors/camel-splunk-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/splunksource/CamelSplunksourceSourceConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.splunksource;
+ */package org.apache.camel.kafkaconnector.splunksource;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-splunk-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/splunksource/CamelSplunksourceSourceTask.java b/connectors/camel-splunk-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/splunksource/CamelSplunksourceSourceTask.java
index 3bbbb1b..e79b1da 100644
--- a/connectors/camel-splunk-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/splunksource/CamelSplunksourceSourceTask.java
+++ b/connectors/camel-splunk-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/splunksource/CamelSplunksourceSourceTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.splunksource;
+ */package org.apache.camel.kafkaconnector.splunksource;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-sqlserver-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/sqlserversink/CamelSqlserversinkSinkConnector.java b/connectors/camel-sqlserver-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/sqlserversink/CamelSqlserversinkSinkConnector.java
index c1e19e9..5ed5736 100644
--- a/connectors/camel-sqlserver-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/sqlserversink/CamelSqlserversinkSinkConnector.java
+++ b/connectors/camel-sqlserver-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/sqlserversink/CamelSqlserversinkSinkConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.sqlserversink;
+ */package org.apache.camel.kafkaconnector.sqlserversink;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSinkConnector;
diff --git a/connectors/camel-sqlserver-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/sqlserversink/CamelSqlserversinkSinkConnectorConfig.java b/connectors/camel-sqlserver-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/sqlserversink/CamelSqlserversinkSinkConnectorConfig.java
index bbcc280..20e5e16 100644
--- a/connectors/camel-sqlserver-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/sqlserversink/CamelSqlserversinkSinkConnectorConfig.java
+++ b/connectors/camel-sqlserver-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/sqlserversink/CamelSqlserversinkSinkConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.sqlserversink;
+ */package org.apache.camel.kafkaconnector.sqlserversink;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-sqlserver-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/sqlserversink/CamelSqlserversinkSinkTask.java b/connectors/camel-sqlserver-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/sqlserversink/CamelSqlserversinkSinkTask.java
index a1aad1b..34dbdc4 100644
--- a/connectors/camel-sqlserver-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/sqlserversink/CamelSqlserversinkSinkTask.java
+++ b/connectors/camel-sqlserver-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/sqlserversink/CamelSqlserversinkSinkTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.sqlserversink;
+ */package org.apache.camel.kafkaconnector.sqlserversink;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-sqlserver-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/sqlserversource/CamelSqlserversourceSourceConnector.java b/connectors/camel-sqlserver-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/sqlserversource/CamelSqlserversourceSourceConnector.java
index 56135a7..a9685f0 100644
--- a/connectors/camel-sqlserver-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/sqlserversource/CamelSqlserversourceSourceConnector.java
+++ b/connectors/camel-sqlserver-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/sqlserversource/CamelSqlserversourceSourceConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.sqlserversource;
+ */package org.apache.camel.kafkaconnector.sqlserversource;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSourceConnector;
diff --git a/connectors/camel-sqlserver-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/sqlserversource/CamelSqlserversourceSourceConnectorConfig.java b/connectors/camel-sqlserver-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/sqlserversource/CamelSqlserversourceSourceConnectorConfig.java
index 4782598..036a6de 100644
--- a/connectors/camel-sqlserver-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/sqlserversource/CamelSqlserversourceSourceConnectorConfig.java
+++ b/connectors/camel-sqlserver-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/sqlserversource/CamelSqlserversourceSourceConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.sqlserversource;
+ */package org.apache.camel.kafkaconnector.sqlserversource;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-sqlserver-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/sqlserversource/CamelSqlserversourceSourceTask.java b/connectors/camel-sqlserver-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/sqlserversource/CamelSqlserversourceSourceTask.java
index 71a96be..00172ee 100644
--- a/connectors/camel-sqlserver-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/sqlserversource/CamelSqlserversourceSourceTask.java
+++ b/connectors/camel-sqlserver-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/sqlserversource/CamelSqlserversourceSourceTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.sqlserversource;
+ */package org.apache.camel.kafkaconnector.sqlserversource;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-ssh-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/sshsink/CamelSshsinkSinkConnector.java b/connectors/camel-ssh-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/sshsink/CamelSshsinkSinkConnector.java
index 15824d5..0a37018 100644
--- a/connectors/camel-ssh-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/sshsink/CamelSshsinkSinkConnector.java
+++ b/connectors/camel-ssh-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/sshsink/CamelSshsinkSinkConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.sshsink;
+ */package org.apache.camel.kafkaconnector.sshsink;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSinkConnector;
diff --git a/connectors/camel-ssh-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/sshsink/CamelSshsinkSinkConnectorConfig.java b/connectors/camel-ssh-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/sshsink/CamelSshsinkSinkConnectorConfig.java
index 929415e..a644c8b 100644
--- a/connectors/camel-ssh-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/sshsink/CamelSshsinkSinkConnectorConfig.java
+++ b/connectors/camel-ssh-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/sshsink/CamelSshsinkSinkConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.sshsink;
+ */package org.apache.camel.kafkaconnector.sshsink;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-ssh-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/sshsink/CamelSshsinkSinkTask.java b/connectors/camel-ssh-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/sshsink/CamelSshsinkSinkTask.java
index 258ee83..e1b8a50 100644
--- a/connectors/camel-ssh-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/sshsink/CamelSshsinkSinkTask.java
+++ b/connectors/camel-ssh-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/sshsink/CamelSshsinkSinkTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.sshsink;
+ */package org.apache.camel.kafkaconnector.sshsink;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-ssh-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/sshsource/CamelSshsourceSourceConnector.java b/connectors/camel-ssh-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/sshsource/CamelSshsourceSourceConnector.java
index eee376e..097475f 100644
--- a/connectors/camel-ssh-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/sshsource/CamelSshsourceSourceConnector.java
+++ b/connectors/camel-ssh-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/sshsource/CamelSshsourceSourceConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.sshsource;
+ */package org.apache.camel.kafkaconnector.sshsource;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSourceConnector;
diff --git a/connectors/camel-ssh-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/sshsource/CamelSshsourceSourceConnectorConfig.java b/connectors/camel-ssh-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/sshsource/CamelSshsourceSourceConnectorConfig.java
index 70af1dd..96f4ec8 100644
--- a/connectors/camel-ssh-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/sshsource/CamelSshsourceSourceConnectorConfig.java
+++ b/connectors/camel-ssh-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/sshsource/CamelSshsourceSourceConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.sshsource;
+ */package org.apache.camel.kafkaconnector.sshsource;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-ssh-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/sshsource/CamelSshsourceSourceTask.java b/connectors/camel-ssh-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/sshsource/CamelSshsourceSourceTask.java
index 84b64f3..bc1e1d2 100644
--- a/connectors/camel-ssh-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/sshsource/CamelSshsourceSourceTask.java
+++ b/connectors/camel-ssh-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/sshsource/CamelSshsourceSourceTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.sshsource;
+ */package org.apache.camel.kafkaconnector.sshsource;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-telegram-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/telegramsink/CamelTelegramsinkSinkConnector.java b/connectors/camel-telegram-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/telegramsink/CamelTelegramsinkSinkConnector.java
index 5114c1e..2eef90c 100644
--- a/connectors/camel-telegram-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/telegramsink/CamelTelegramsinkSinkConnector.java
+++ b/connectors/camel-telegram-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/telegramsink/CamelTelegramsinkSinkConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.telegramsink;
+ */package org.apache.camel.kafkaconnector.telegramsink;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSinkConnector;
diff --git a/connectors/camel-telegram-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/telegramsink/CamelTelegramsinkSinkConnectorConfig.java b/connectors/camel-telegram-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/telegramsink/CamelTelegramsinkSinkConnectorConfig.java
index dab8e81..87cbade 100644
--- a/connectors/camel-telegram-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/telegramsink/CamelTelegramsinkSinkConnectorConfig.java
+++ b/connectors/camel-telegram-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/telegramsink/CamelTelegramsinkSinkConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.telegramsink;
+ */package org.apache.camel.kafkaconnector.telegramsink;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-telegram-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/telegramsink/CamelTelegramsinkSinkTask.java b/connectors/camel-telegram-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/telegramsink/CamelTelegramsinkSinkTask.java
index 00ad186..c709d13 100644
--- a/connectors/camel-telegram-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/telegramsink/CamelTelegramsinkSinkTask.java
+++ b/connectors/camel-telegram-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/telegramsink/CamelTelegramsinkSinkTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.telegramsink;
+ */package org.apache.camel.kafkaconnector.telegramsink;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-telegram-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/telegramsource/CamelTelegramsourceSourceConnector.java b/connectors/camel-telegram-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/telegramsource/CamelTelegramsourceSourceConnector.java
index 79bffcf..8ad701d 100644
--- a/connectors/camel-telegram-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/telegramsource/CamelTelegramsourceSourceConnector.java
+++ b/connectors/camel-telegram-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/telegramsource/CamelTelegramsourceSourceConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.telegramsource;
+ */package org.apache.camel.kafkaconnector.telegramsource;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSourceConnector;
diff --git a/connectors/camel-telegram-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/telegramsource/CamelTelegramsourceSourceConnectorConfig.java b/connectors/camel-telegram-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/telegramsource/CamelTelegramsourceSourceConnectorConfig.java
index e60a093..86a04ac 100644
--- a/connectors/camel-telegram-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/telegramsource/CamelTelegramsourceSourceConnectorConfig.java
+++ b/connectors/camel-telegram-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/telegramsource/CamelTelegramsourceSourceConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.telegramsource;
+ */package org.apache.camel.kafkaconnector.telegramsource;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-telegram-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/telegramsource/CamelTelegramsourceSourceTask.java b/connectors/camel-telegram-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/telegramsource/CamelTelegramsourceSourceTask.java
index 0bcab8c..4ff725f 100644
--- a/connectors/camel-telegram-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/telegramsource/CamelTelegramsourceSourceTask.java
+++ b/connectors/camel-telegram-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/telegramsource/CamelTelegramsourceSourceTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.telegramsource;
+ */package org.apache.camel.kafkaconnector.telegramsource;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-timer-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/timersource/CamelTimersourceSourceConnector.java b/connectors/camel-timer-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/timersource/CamelTimersourceSourceConnector.java
index cfe38e1..d7dbd83 100644
--- a/connectors/camel-timer-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/timersource/CamelTimersourceSourceConnector.java
+++ b/connectors/camel-timer-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/timersource/CamelTimersourceSourceConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.timersource;
+ */package org.apache.camel.kafkaconnector.timersource;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSourceConnector;
diff --git a/connectors/camel-timer-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/timersource/CamelTimersourceSourceConnectorConfig.java b/connectors/camel-timer-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/timersource/CamelTimersourceSourceConnectorConfig.java
index 8a2d410..03027f2 100644
--- a/connectors/camel-timer-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/timersource/CamelTimersourceSourceConnectorConfig.java
+++ b/connectors/camel-timer-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/timersource/CamelTimersourceSourceConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.timersource;
+ */package org.apache.camel.kafkaconnector.timersource;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-timer-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/timersource/CamelTimersourceSourceTask.java b/connectors/camel-timer-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/timersource/CamelTimersourceSourceTask.java
index c2f7e60..d29aeff 100644
--- a/connectors/camel-timer-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/timersource/CamelTimersourceSourceTask.java
+++ b/connectors/camel-timer-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/timersource/CamelTimersourceSourceTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.timersource;
+ */package org.apache.camel.kafkaconnector.timersource;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-twitter-directmessage-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/twitterdirectmessagesource/CamelTwitterdirectmessagesourceSourceConnector.java b/connectors/camel-twitter-directmessage-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/twitterdirectmessagesource/CamelTwitterdirectmessagesourceSourceConnector.java
index a6d3ab8..eb0276d 100644
--- a/connectors/camel-twitter-directmessage-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/twitterdirectmessagesource/CamelTwitterdirectmessagesourceSourceConnector.java
+++ b/connectors/camel-twitter-directmessage-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/twitterdirectmessagesource/CamelTwitterdirectmessagesourceSourceConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.twitterdirectmessagesource;
+ */package org.apache.camel.kafkaconnector.twitterdirectmessagesource;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSourceConnector;
diff --git a/connectors/camel-twitter-directmessage-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/twitterdirectmessagesource/CamelTwitterdirectmessagesourceSourceConnectorConfig.java b/connectors/camel-twitter-directmessage-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/twitterdirectmessagesource/CamelTwitterdirectmessagesourceSourceConnectorConfig.java
index 21d1b51..1364b60 100644
--- a/connectors/camel-twitter-directmessage-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/twitterdirectmessagesource/CamelTwitterdirectmessagesourceSourceConnectorConfig.java
+++ b/connectors/camel-twitter-directmessage-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/twitterdirectmessagesource/CamelTwitterdirectmessagesourceSourceConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.twitterdirectmessagesource;
+ */package org.apache.camel.kafkaconnector.twitterdirectmessagesource;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-twitter-directmessage-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/twitterdirectmessagesource/CamelTwitterdirectmessagesourceSourceTask.java b/connectors/camel-twitter-directmessage-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/twitterdirectmessagesource/CamelTwitterdirectmessagesourceSourceTask.java
index 0654fc4..edd909c 100644
--- a/connectors/camel-twitter-directmessage-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/twitterdirectmessagesource/CamelTwitterdirectmessagesourceSourceTask.java
+++ b/connectors/camel-twitter-directmessage-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/twitterdirectmessagesource/CamelTwitterdirectmessagesourceSourceTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.twitterdirectmessagesource;
+ */package org.apache.camel.kafkaconnector.twitterdirectmessagesource;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-twitter-search-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/twittersearchsource/CamelTwittersearchsourceSourceConnector.java b/connectors/camel-twitter-search-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/twittersearchsource/CamelTwittersearchsourceSourceConnector.java
index 58e0286..3b3d21b 100644
--- a/connectors/camel-twitter-search-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/twittersearchsource/CamelTwittersearchsourceSourceConnector.java
+++ b/connectors/camel-twitter-search-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/twittersearchsource/CamelTwittersearchsourceSourceConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.twittersearchsource;
+ */package org.apache.camel.kafkaconnector.twittersearchsource;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSourceConnector;
diff --git a/connectors/camel-twitter-search-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/twittersearchsource/CamelTwittersearchsourceSourceConnectorConfig.java b/connectors/camel-twitter-search-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/twittersearchsource/CamelTwittersearchsourceSourceConnectorConfig.java
index c5d716f..cdb95bf 100644
--- a/connectors/camel-twitter-search-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/twittersearchsource/CamelTwittersearchsourceSourceConnectorConfig.java
+++ b/connectors/camel-twitter-search-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/twittersearchsource/CamelTwittersearchsourceSourceConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.twittersearchsource;
+ */package org.apache.camel.kafkaconnector.twittersearchsource;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-twitter-search-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/twittersearchsource/CamelTwittersearchsourceSourceTask.java b/connectors/camel-twitter-search-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/twittersearchsource/CamelTwittersearchsourceSourceTask.java
index 630b6ef..32f1efa 100644
--- a/connectors/camel-twitter-search-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/twittersearchsource/CamelTwittersearchsourceSourceTask.java
+++ b/connectors/camel-twitter-search-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/twittersearchsource/CamelTwittersearchsourceSourceTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.twittersearchsource;
+ */package org.apache.camel.kafkaconnector.twittersearchsource;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-twitter-timeline-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/twittertimelinesource/CamelTwittertimelinesourceSourceConnector.java b/connectors/camel-twitter-timeline-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/twittertimelinesource/CamelTwittertimelinesourceSourceConnector.java
index 916d70c..69c4754 100644
--- a/connectors/camel-twitter-timeline-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/twittertimelinesource/CamelTwittertimelinesourceSourceConnector.java
+++ b/connectors/camel-twitter-timeline-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/twittertimelinesource/CamelTwittertimelinesourceSourceConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.twittertimelinesource;
+ */package org.apache.camel.kafkaconnector.twittertimelinesource;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSourceConnector;
diff --git a/connectors/camel-twitter-timeline-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/twittertimelinesource/CamelTwittertimelinesourceSourceConnectorConfig.java b/connectors/camel-twitter-timeline-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/twittertimelinesource/CamelTwittertimelinesourceSourceConnectorConfig.java
index 546feb8..eea768e 100644
--- a/connectors/camel-twitter-timeline-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/twittertimelinesource/CamelTwittertimelinesourceSourceConnectorConfig.java
+++ b/connectors/camel-twitter-timeline-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/twittertimelinesource/CamelTwittertimelinesourceSourceConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.twittertimelinesource;
+ */package org.apache.camel.kafkaconnector.twittertimelinesource;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-twitter-timeline-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/twittertimelinesource/CamelTwittertimelinesourceSourceTask.java b/connectors/camel-twitter-timeline-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/twittertimelinesource/CamelTwittertimelinesourceSourceTask.java
index 70b290e..4b47b34 100644
--- a/connectors/camel-twitter-timeline-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/twittertimelinesource/CamelTwittertimelinesourceSourceTask.java
+++ b/connectors/camel-twitter-timeline-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/twittertimelinesource/CamelTwittertimelinesourceSourceTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.twittertimelinesource;
+ */package org.apache.camel.kafkaconnector.twittertimelinesource;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-webhook-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/webhooksource/CamelWebhooksourceSourceConnector.java b/connectors/camel-webhook-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/webhooksource/CamelWebhooksourceSourceConnector.java
index 3f91ad1..3674fa3 100644
--- a/connectors/camel-webhook-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/webhooksource/CamelWebhooksourceSourceConnector.java
+++ b/connectors/camel-webhook-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/webhooksource/CamelWebhooksourceSourceConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.webhooksource;
+ */package org.apache.camel.kafkaconnector.webhooksource;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSourceConnector;
diff --git a/connectors/camel-webhook-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/webhooksource/CamelWebhooksourceSourceConnectorConfig.java b/connectors/camel-webhook-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/webhooksource/CamelWebhooksourceSourceConnectorConfig.java
index b786581..f1fc14d 100644
--- a/connectors/camel-webhook-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/webhooksource/CamelWebhooksourceSourceConnectorConfig.java
+++ b/connectors/camel-webhook-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/webhooksource/CamelWebhooksourceSourceConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.webhooksource;
+ */package org.apache.camel.kafkaconnector.webhooksource;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-webhook-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/webhooksource/CamelWebhooksourceSourceTask.java b/connectors/camel-webhook-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/webhooksource/CamelWebhooksourceSourceTask.java
index 81dd268..ae87aba 100644
--- a/connectors/camel-webhook-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/webhooksource/CamelWebhooksourceSourceTask.java
+++ b/connectors/camel-webhook-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/webhooksource/CamelWebhooksourceSourceTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.webhooksource;
+ */package org.apache.camel.kafkaconnector.webhooksource;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/connectors/camel-wttrin-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/wttrinsource/CamelWttrinsourceSourceConnector.java b/connectors/camel-wttrin-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/wttrinsource/CamelWttrinsourceSourceConnector.java
index fe38040..15eedaf 100644
--- a/connectors/camel-wttrin-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/wttrinsource/CamelWttrinsourceSourceConnector.java
+++ b/connectors/camel-wttrin-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/wttrinsource/CamelWttrinsourceSourceConnector.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.wttrinsource;
+ */package org.apache.camel.kafkaconnector.wttrinsource;
 
 import javax.annotation.Generated;
 import org.apache.camel.kafkaconnector.CamelSourceConnector;
diff --git a/connectors/camel-wttrin-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/wttrinsource/CamelWttrinsourceSourceConnectorConfig.java b/connectors/camel-wttrin-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/wttrinsource/CamelWttrinsourceSourceConnectorConfig.java
index fd20670..fe06670 100644
--- a/connectors/camel-wttrin-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/wttrinsource/CamelWttrinsourceSourceConnectorConfig.java
+++ b/connectors/camel-wttrin-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/wttrinsource/CamelWttrinsourceSourceConnectorConfig.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.wttrinsource;
+ */package org.apache.camel.kafkaconnector.wttrinsource;
 
 import java.util.Map;
 import javax.annotation.Generated;
diff --git a/connectors/camel-wttrin-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/wttrinsource/CamelWttrinsourceSourceTask.java b/connectors/camel-wttrin-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/wttrinsource/CamelWttrinsourceSourceTask.java
index 9c8275e..7baf407 100644
--- a/connectors/camel-wttrin-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/wttrinsource/CamelWttrinsourceSourceTask.java
+++ b/connectors/camel-wttrin-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/wttrinsource/CamelWttrinsourceSourceTask.java
@@ -13,8 +13,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-package org.apache.camel.kafkaconnector.wttrinsource;
+ */package org.apache.camel.kafkaconnector.wttrinsource;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/pom.xml b/pom.xml
index 58b2fa8..6e788f1 100644
--- a/pom.xml
+++ b/pom.xml
@@ -44,6 +44,7 @@
         <maven-assembly-plugin.version>3.3.0</maven-assembly-plugin.version>
         <maven-source-plugin.version>3.1.0</maven-source-plugin.version>
         <maven-checksum-maven-plugin.version>1.7</maven-checksum-maven-plugin.version>
+        <cyclonedx-maven-plugin-version>2.7.10</cyclonedx-maven-plugin-version>
     </properties>
 
     <modules>
@@ -371,6 +372,48 @@
                             </execution>
                         </executions>
                     </plugin>
+                    <plugin>
+                        <groupId>org.cyclonedx</groupId>
+                        <artifactId>cyclonedx-maven-plugin</artifactId>
+                        <version>${cyclonedx-maven-plugin-version}</version>
+                        <inherited>false</inherited>
+                        <executions>
+                            <execution>
+                                <phase>package</phase>
+                                <goals>
+                                    <goal>makeAggregateBom</goal>
+                                </goals>
+                            </execution>
+                        </executions>
+                        <configuration>
+                            <outputName>${project.artifactId}-${project.version}-sbom</outputName>
+                        </configuration>
+                    </plugin>
+                </plugins>
+            </build>
+        </profile>
+        <profile>
+            <id>sbom</id>
+            <build>
+                <plugins>
+                    <plugin>
+                        <groupId>org.cyclonedx</groupId>
+                        <artifactId>cyclonedx-maven-plugin</artifactId>
+                        <version>${cyclonedx-maven-plugin-version}</version>
+                        <inherited>false</inherited>
+                        <configuration>
+                            <outputName>camel-sbom</outputName>
+                            <outputDirectory>${project.basedir}/camel-kafka-connector-sbom/</outputDirectory>
+                        </configuration>
+                        <executions>
+                            <execution>
+                                <phase>package</phase>
+                                <goals>
+                                    <goal>makeAggregateBom</goal>
+                                </goals>
+                            </execution>
+                        </executions>
+                    </plugin>
                 </plugins>
             </build>
         </profile>
