diff --git a/readme.md b/readme.md
index 43f2c9a..395971a 100644
--- a/readme.md
+++ b/readme.md
@@ -262,6 +262,109 @@ We are using the latest stable pmd-java version which is `6.42.0` as a start poi
| [UseObjectForClearerAPI](https://pmd.github.io/latest/pmd_rules_java_design.html#useobjectforclearerapi) | pmd-java | 4.2.6 | ❌ | ⌛ | ⌛ |
| [UseUtilityClass](https://pmd.github.io/latest/pmd_rules_java_design.html#useutilityclass) | pmd-java | 0.3 | ✅ | ⌛ | ⌛ |
| [MutableStaticState](https://pmd.github.io/latest/pmd_rules_java_design.html#mutablestaticstate) | pmd-java | 6.35.0 | ✅ | ⌛ | ⌛ |
+| [AssignmentInOperand](https://pmd.github.io/latest/pmd_rules_java_errorprone.html#assignmentinoperand) | pmd-java | 1.03 | ✅ | ⌛ | ⌛ |
+| [AssignmentToNonFinalStatic](https://pmd.github.io/latest/pmd_rules_java_errorprone.html#assignmenttononfinalstatic) | pmd-java | 2.2 | ✅ | ⌛ | ⌛ |
+| [AvoidAccessibilityAlteration](https://pmd.github.io/latest/pmd_rules_java_errorprone.html#avoidaccessibilityalteration) | pmd-java | 4.1 | ✅ | ⌛ | ⌛ |
+| [AvoidAssertAsIdentifier](https://pmd.github.io/latest/pmd_rules_java_errorprone.html#avoidassertasidentifier) | pmd-java | 3.4 | ✅ | ⌛ | ⌛ |
+| [AvoidBranchingStatementAsLastInLoop](https://pmd.github.io/latest/pmd_rules_java_errorprone.html#avoidbranchingstatementaslastinloop) | pmd-java | 5.0 | ✅ | ⌛ | ⌛ |
+| [AvoidCallingFinalize](https://pmd.github.io/latest/pmd_rules_java_errorprone.html#avoidcallingfinalize) | pmd-java | 3.0 | ✅ | ⌛ | ⌛ |
+| [AvoidCatchingNPE](https://pmd.github.io/latest/pmd_rules_java_errorprone.html#avoidcatchingnpe) | pmd-java | 1.8 | ✅ | ⌛ | ⌛ |
+| [AvoidCatchingThrowable](https://pmd.github.io/latest/pmd_rules_java_errorprone.html#avoidcatchingthrowable) | pmd-java | 1.2 | ✅ | ⌛ | ⌛ |
+| [AvoidDecimalLiteralsInBigDecimalConstructor](https://pmd.github.io/latest/pmd_rules_java_errorprone.html#avoiddecimalliteralsinbigdecimalconstructor) | pmd-java | 3.4 | ✅ | ⌛ | ⌛ |
+| [AvoidDuplicateLiterals](https://pmd.github.io/latest/pmd_rules_java_errorprone.html#avoidduplicateliterals) | pmd-java | 1.0 | ✅ | ⌛ | ⌛ |
+| [AvoidEnumAsIdentifier](https://pmd.github.io/latest/pmd_rules_java_errorprone.html#avoidenumasidentifier) | pmd-java | 3.4 | ✅ | ⌛ | ⌛ |
+| [AvoidFieldNameMatchingMethodName](https://pmd.github.io/latest/pmd_rules_java_errorprone.html#avoidfieldnamematchingmethodname) | pmd-java | 3.0 | ✅ | ⌛ | ⌛ |
+| [AvoidFieldNameMatchingTypeName](https://pmd.github.io/latest/pmd_rules_java_errorprone.html#avoidfieldnamematchingtypename) | pmd-java | 3.0 | ✅ | ⌛ | ⌛ |
+| [AvoidInstanceofChecksInCatchClause](https://pmd.github.io/latest/pmd_rules_java_errorprone.html#avoidinstanceofchecksincatchclause) | pmd-java | 3.0 | ✅ | ⌛ | ⌛ |
+| [AvoidLiteralsInIfCondition](https://pmd.github.io/latest/pmd_rules_java_errorprone.html#avoidliteralsinifcondition) | pmd-java | 4.2.6 | ✅ | ⌛ | ⌛ |
+| [AvoidLosingExceptionInformation](https://pmd.github.io/latest/pmd_rules_java_errorprone.html#avoidlosingexceptioninformation) | pmd-java | 4.2.6 | ✅ | ⌛ | ⌛ |
+| [AvoidMultipleUnaryOperators](https://pmd.github.io/latest/pmd_rules_java_errorprone.html#avoidmultipleunaryoperators) | pmd-java | 4.2 | ✅ | ⌛ | ⌛ |
+| [AvoidUsingOctalValues](https://pmd.github.io/latest/pmd_rules_java_errorprone.html#avoidusingoctalvalues) | pmd-java | 3.9 | ✅ | ⌛ | ⌛ |
+| [BadComparison](https://pmd.github.io/latest/pmd_rules_java_errorprone.html#badcomparison) | pmd-java | 6.36.0 | ❌ | ⌛ | ⌛ |
+| [BeanMembersShouldSerialize](https://pmd.github.io/latest/pmd_rules_java_errorprone.html#beanmembersshouldserialize) | pmd-java | 1.1 | ✅ | ⌛ | ⌛ |
+| [BrokenNullCheck](https://pmd.github.io/latest/pmd_rules_java_errorprone.html#brokennullcheck) | pmd-java | 3.8 | ✅ | ⌛ | ⌛ |
+| [CallSuperFirst](https://pmd.github.io/latest/pmd_rules_java_errorprone.html#callsuperfirst) | pmd-java | 4.2.5 | ✅ | ⌛ | ⌛ |
+| [CallSuperLast](https://pmd.github.io/latest/pmd_rules_java_errorprone.html#callsuperlast) | pmd-java | 4.2.5 | ✅ | ⌛ | ⌛ |
+| [CheckSkipResult](https://pmd.github.io/latest/pmd_rules_java_errorprone.html#checkskipresult) | pmd-java | 5.0 | ✅ | ⌛ | ⌛ |
+| [ClassCastExceptionWithToArray](https://pmd.github.io/latest/pmd_rules_java_errorprone.html#classcastexceptionwithtoarray) | pmd-java | 3.4 | ✅ | ⌛ | ⌛ |
+| [CloneMethodMustBePublic](https://pmd.github.io/latest/pmd_rules_java_errorprone.html#clonemethodmustbepublic) | pmd-java | 5.4.0 | ✅ | ⌛ | ⌛ |
+| [CloneMethodMustImplementCloneable](https://pmd.github.io/latest/pmd_rules_java_errorprone.html#clonemethodmustimplementcloneable) | pmd-java | 1.9 | ✅ | ⌛ | ⌛ |
+| [CloneMethodReturnTypeMustMatchClassName](https://pmd.github.io/latest/pmd_rules_java_errorprone.html#clonemethodreturntypemustmatchclassname) | pmd-java | 5.4.0 | ✅ | ⌛ | ⌛ |
+| [CloneThrowsCloneNotSupportedException](https://pmd.github.io/latest/pmd_rules_java_errorprone.html#clonethrowsclonenotsupportedexception) | pmd-java | 1.9 | ✅ | ⌛ | ⌛ |
+| [CloseResource](https://pmd.github.io/latest/pmd_rules_java_errorprone.html#closeresource) | pmd-java | 1.2.2 | ✅ | ⌛ | ⌛ |
+| [CompareObjectsWithEquals](https://pmd.github.io/latest/pmd_rules_java_errorprone.html#compareobjectswithequals) | pmd-java | 3.2 | ✅ | ⌛ | ⌛ |
+| [ComparisonWithNaN](https://pmd.github.io/latest/pmd_rules_java_errorprone.html#comparisonwithnan) | pmd-java | 6.36.0 | ✅ | ⌛ | ⌛ |
+| [ConstructorCallsOverridableMethod](https://pmd.github.io/latest/pmd_rules_java_errorprone.html#constructorcallsoverridablemethod) | pmd-java | 1.04 | ✅ | ⌛ | ⌛ |
+| [DataflowAnomalyAnalysis](https://pmd.github.io/latest/pmd_rules_java_errorprone.html#dataflowanomalyanalysis) | pmd-java | 3.9 | ❌ | ⌛ | ⌛ |
+| [DetachedTestCase](https://pmd.github.io/latest/pmd_rules_java_errorprone.html#detachedtestcase) | pmd-java | 6.13.0 | ✅ | ⌛ | ⌛ |
+| [DoNotCallGarbageCollectionExplicitly](https://pmd.github.io/latest/pmd_rules_java_errorprone.html#donotcallgarbagecollectionexplicitly) | pmd-java | 4.2 | ✅ | ⌛ | ⌛ |
+| [DoNotCallSystemExit](https://pmd.github.io/latest/pmd_rules_java_errorprone.html#donotcallsystemexit) | pmd-java | 4.1 | ❌ | ⌛ | ⌛ |
+| [DoNotExtendJavaLangThrowable](https://pmd.github.io/latest/pmd_rules_java_errorprone.html#donotextendjavalangthrowable) | pmd-java | 6.0.0 | ✅ | ⌛ | ⌛ |
+| [DoNotHardCodeSDCard](https://pmd.github.io/latest/pmd_rules_java_errorprone.html#donothardcodesdcard) | pmd-java | 4.2.6 | ✅ | ⌛ | ⌛ |
+| [DoNotTerminateVM](https://pmd.github.io/latest/pmd_rules_java_errorprone.html#donotterminatevm) | pmd-java | 4.2 | ✅ | ⌛ | ⌛ |
+| [DoNotThrowExceptionInFinally](https://pmd.github.io/latest/pmd_rules_java_errorprone.html#donotthrowexceptioninfinally) | pmd-java | 4.2 | ✅ | ⌛ | ⌛ |
+| [DontImportSun](https://pmd.github.io/latest/pmd_rules_java_errorprone.html#dontimportsun) | pmd-java | 1.5 | ✅ | ⌛ | ⌛ |
+| [DontUseFloatTypeForLoopIndices](https://pmd.github.io/latest/pmd_rules_java_errorprone.html#dontusefloattypeforloopindices) | pmd-java | 4.3 | ✅ | ⌛ | ⌛ |
+| [EmptyCatchBlock](https://pmd.github.io/latest/pmd_rules_java_errorprone.html#emptycatchblock) | pmd-java | 0.1 | ✅ | ⌛ | ⌛ |
+| [EmptyFinalizer](https://pmd.github.io/latest/pmd_rules_java_errorprone.html#emptyfinalizer) | pmd-java | 1.5 | ✅ | ⌛ | ⌛ |
+| [EmptyFinallyBlock](https://pmd.github.io/latest/pmd_rules_java_errorprone.html#emptyfinallyblock) | pmd-java | 0.4 | ✅ | ⌛ | ⌛ |
+| [EmptyIfStmt](https://pmd.github.io/latest/pmd_rules_java_errorprone.html#emptyifstmt) | pmd-java | 0.1 | ✅ | ⌛ | ⌛ |
+| [EmptyInitializer](https://pmd.github.io/latest/pmd_rules_java_errorprone.html#emptyinitializer) | pmd-java | 5.0 | ✅ | ⌛ | ⌛ |
+| [EmptyStatementBlock](https://pmd.github.io/latest/pmd_rules_java_errorprone.html#emptystatementblock) | pmd-java | 5.0 | ✅ | ⌛ | ⌛ |
+| [EmptyStatementNotInLoop](https://pmd.github.io/latest/pmd_rules_java_errorprone.html#emptystatementnotinloop) | pmd-java | 1.5 | ✅ | ⌛ | ⌛ |
+| [EmptySwitchStatements](https://pmd.github.io/latest/pmd_rules_java_errorprone.html#emptyswitchstatements) | pmd-java | 1.0 | ✅ | ⌛ | ⌛ |
+| [EmptySynchronizedBlock](https://pmd.github.io/latest/pmd_rules_java_errorprone.html#emptysynchronizedblock) | pmd-java | 1.3 | ✅ | ⌛ | ⌛ |
+| [EmptyTryBlock](https://pmd.github.io/latest/pmd_rules_java_errorprone.html#emptytryblock) | pmd-java | 0.4 | ✅ | ⌛ | ⌛ |
+| [EmptyWhileStmt](https://pmd.github.io/latest/pmd_rules_java_errorprone.html#emptywhilestmt) | pmd-java | 0.2 | ✅ | ⌛ | ⌛ |
+| [EqualsNull](https://pmd.github.io/latest/pmd_rules_java_errorprone.html#equalsnull) | pmd-java | 1.9 | ✅ | ⌛ | ⌛ |
+| [FinalizeDoesNotCallSuperFinalize](https://pmd.github.io/latest/pmd_rules_java_errorprone.html#finalizedoesnotcallsuperfinalize) | pmd-java | 1.5 | ✅ | ⌛ | ⌛ |
+| [FinalizeOnlyCallsSuperFinalize](https://pmd.github.io/latest/pmd_rules_java_errorprone.html#finalizeonlycallssuperfinalize) | pmd-java | 1.5 | ✅ | ⌛ | ⌛ |
+| [FinalizeOverloaded](https://pmd.github.io/latest/pmd_rules_java_errorprone.html#finalizeoverloaded) | pmd-java | 1.5 | ✅ | ⌛ | ⌛ |
+| [FinalizeShouldBeProtected](https://pmd.github.io/latest/pmd_rules_java_errorprone.html#finalizeshouldbeprotected) | pmd-java | 1.1 | ✅ | ⌛ | ⌛ |
+| [IdempotentOperations](https://pmd.github.io/latest/pmd_rules_java_errorprone.html#idempotentoperations) | pmd-java | 2.0 | ✅ | ⌛ | ⌛ |
+| [ImplicitSwitchFallThrough](https://pmd.github.io/latest/pmd_rules_java_errorprone.html#implicitswitchfallthrough) | pmd-java | 3.0 | ✅ | ⌛ | ⌛ |
+| [ImportFromSamePackage](https://pmd.github.io/latest/pmd_rules_java_errorprone.html#importfromsamepackage) | pmd-java | 1.02 | ❌ | ⌛ | ⌛ |
+| [InstantiationToGetClass](https://pmd.github.io/latest/pmd_rules_java_errorprone.html#instantiationtogetclass) | pmd-java | 2.0 | ✅ | ⌛ | ⌛ |
+| [InvalidLogMessageFormat](https://pmd.github.io/latest/pmd_rules_java_errorprone.html#invalidlogmessageformat) | pmd-java | 5.5.0 | ✅ | ⌛ | ⌛ |
+| [InvalidSlf4jMessageFormat](https://pmd.github.io/latest/pmd_rules_java_errorprone.html#invalidslf4jmessageformat) | pmd-java | 5.5.0 | ❌ | ⌛ | ⌛ |
+| [JumbledIncrementer](https://pmd.github.io/latest/pmd_rules_java_errorprone.html#jumbledincrementer) | pmd-java | 1.0 | ✅ | ⌛ | ⌛ |
+| [JUnitSpelling](https://pmd.github.io/latest/pmd_rules_java_errorprone.html#junitspelling) | pmd-java | 1.0 | ✅ | ⌛ | ⌛ |
+| [JUnitStaticSuite](https://pmd.github.io/latest/pmd_rules_java_errorprone.html#junitstaticsuite) | pmd-java | 1.0 | ✅ | ⌛ | ⌛ |
+| [LoggerIsNotStaticFinal](https://pmd.github.io/latest/pmd_rules_java_errorprone.html#loggerisnotstaticfinal) | pmd-java | 2.0 | ❌ | ⌛ | ⌛ |
+| [MethodWithSameNameAsEnclosingClass](https://pmd.github.io/latest/pmd_rules_java_errorprone.html#methodwithsamenameasenclosingclass) | pmd-java | 1.5 | ✅ | ⌛ | ⌛ |
+| [MisplacedNullCheck](https://pmd.github.io/latest/pmd_rules_java_errorprone.html#misplacednullcheck) | pmd-java | 3.5 | ✅ | ⌛ | ⌛ |
+| [MissingBreakInSwitch](https://pmd.github.io/latest/pmd_rules_java_errorprone.html#missingbreakinswitch) | pmd-java | 3.0 | ❌ | ⌛ | ⌛ |
+| [MissingSerialVersionUID](https://pmd.github.io/latest/pmd_rules_java_errorprone.html#missingserialversionuid) | pmd-java | 3.0 | ✅ | ⌛ | ⌛ |
+| [MissingStaticMethodInNonInstantiatableClass](https://pmd.github.io/latest/pmd_rules_java_errorprone.html#missingstaticmethodinnoninstantiatableclass) | pmd-java | 3.0 | ✅ | ⌛ | ⌛ |
+| [MoreThanOneLogger](https://pmd.github.io/latest/pmd_rules_java_errorprone.html#morethanonelogger) | pmd-java | 2.0 | ✅ | ⌛ | ⌛ |
+| [NonCaseLabelInSwitchStatement](https://pmd.github.io/latest/pmd_rules_java_errorprone.html#noncaselabelinswitchstatement) | pmd-java | 1.5 | ✅ | ⌛ | ⌛ |
+| [NonStaticInitializer](https://pmd.github.io/latest/pmd_rules_java_errorprone.html#nonstaticinitializer) | pmd-java | 1.5 | ✅ | ⌛ | ⌛ |
+| [NullAssignment](https://pmd.github.io/latest/pmd_rules_java_errorprone.html#nullassignment) | pmd-java | 1.02 | ✅ | ⌛ | ⌛ |
+| [OverrideBothEqualsAndHashcode](https://pmd.github.io/latest/pmd_rules_java_errorprone.html#overridebothequalsandhashcode) | pmd-java | 0.4 | ✅ | ⌛ | ⌛ |
+| [ProperCloneImplementation](https://pmd.github.io/latest/pmd_rules_java_errorprone.html#propercloneimplementation) | pmd-java | 1.4 | ✅ | ⌛ | ⌛ |
+| [ProperLogger](https://pmd.github.io/latest/pmd_rules_java_errorprone.html#properlogger) | pmd-java | 3.3 | ✅ | ⌛ | ⌛ |
+| [ReturnEmptyArrayRatherThanNull](https://pmd.github.io/latest/pmd_rules_java_errorprone.html#returnemptyarrayratherthannull) | pmd-java | 4.2 | ❌ | ⌛ | ⌛ |
+| [ReturnEmptyCollectionRatherThanNull](https://pmd.github.io/latest/pmd_rules_java_errorprone.html#returnemptycollectionratherthannull) | pmd-java | 6.37.0 | ✅ | ⌛ | ⌛ |
+| [ReturnFromFinallyBlock](https://pmd.github.io/latest/pmd_rules_java_errorprone.html#returnfromfinallyblock) | pmd-java | 1.05 | ✅ | ⌛ | ⌛ |
+| [SimpleDateFormatNeedsLocale](https://pmd.github.io/latest/pmd_rules_java_errorprone.html#simpledateformatneedslocale) | pmd-java | 2.0 | ✅ | ⌛ | ⌛ |
+| [SingleMethodSingleton](https://pmd.github.io/latest/pmd_rules_java_errorprone.html#singlemethodsingleton) | pmd-java | 5.4 | ✅ | ⌛ | ⌛ |
+| [SingletonClassReturningNewInstance](https://pmd.github.io/latest/pmd_rules_java_errorprone.html#singletonclassreturningnewinstance) | pmd-java | 5.4 | ✅ | ⌛ | ⌛ |
+| [StaticEJBFieldShouldBeFinal](https://pmd.github.io/latest/pmd_rules_java_errorprone.html#staticejbfieldshouldbefinal) | pmd-java | 4.1 | ✅ | ⌛ | ⌛ |
+| [StringBufferInstantiationWithChar](https://pmd.github.io/latest/pmd_rules_java_errorprone.html#stringbufferinstantiationwithchar) | pmd-java | 3.9 | ✅ | ⌛ | ⌛ |
+| [SuspiciousEqualsMethodName](https://pmd.github.io/latest/pmd_rules_java_errorprone.html#suspiciousequalsmethodname) | pmd-java | 2.0 | ✅ | ⌛ | ⌛ |
+| [SuspiciousHashcodeMethodName](https://pmd.github.io/latest/pmd_rules_java_errorprone.html#suspicioushashcodemethodname) | pmd-java | 1.5 | ✅ | ⌛ | ⌛ |
+| [SuspiciousOctalEscape](https://pmd.github.io/latest/pmd_rules_java_errorprone.html#suspiciousoctalescape) | pmd-java | 1.5 | ✅ | ⌛ | ⌛ |
+| [TestClassWithoutTestCases](https://pmd.github.io/latest/pmd_rules_java_errorprone.html#testclasswithouttestcases) | pmd-java | 3.0 | ✅ | ⌛ | ⌛ |
+| [UnconditionalIfStatement](https://pmd.github.io/latest/pmd_rules_java_errorprone.html#unconditionalifstatement) | pmd-java | 1.5 | ✅ | ⌛ | ⌛ |
+| [UnnecessaryBooleanAssertion](https://pmd.github.io/latest/pmd_rules_java_errorprone.html#unnecessarybooleanassertion) | pmd-java | 3.0 | ✅ | ⌛ | ⌛ |
+| [UnnecessaryCaseChange](https://pmd.github.io/latest/pmd_rules_java_errorprone.html#unnecessarycasechange) | pmd-java | 3.3 | ✅ | ⌛ | ⌛ |
+| [UnnecessaryConversionTemporary](https://pmd.github.io/latest/pmd_rules_java_errorprone.html#unnecessaryconversiontemporary) | pmd-java | 0.1 | ✅ | ⌛ | ⌛ |
+| [UnusedNullCheckInEquals](https://pmd.github.io/latest/pmd_rules_java_errorprone.html#unusednullcheckinequals) | pmd-java | 3.5 | ✅ | ⌛ | ⌛ |
+| [UseCorrectExceptionLogging](https://pmd.github.io/latest/pmd_rules_java_errorprone.html#usecorrectexceptionlogging) | pmd-java | 3.2 | ✅ | ⌛ | ⌛ |
+| [UseEqualsToCompareStrings](https://pmd.github.io/latest/pmd_rules_java_errorprone.html#useequalstocomparestrings) | pmd-java | 4.1 | ✅ | ⌛ | ⌛ |
+| [UselessOperationOnImmutable](https://pmd.github.io/latest/pmd_rules_java_errorprone.html#uselessoperationonimmutable) | pmd-java | 3.5 | ✅ | ⌛ | ⌛ |
+| [UseLocaleWithCaseConversions](https://pmd.github.io/latest/pmd_rules_java_errorprone.html#uselocalewithcaseconversions) | pmd-java | 2.0 | ✅ | ⌛ | ⌛ |
+| [UseProperClassLoader](https://pmd.github.io/latest/pmd_rules_java_errorprone.html#useproperclassloader) | pmd-java | 3.7 | ✅ | ⌛ | ⌛ |
| [HardCodedCryptoKey](https://pmd.github.io/latest/pmd_rules_java_security.html#hardcodedcryptokey) | pmd-java | 6.4.0 | ✅ | ⌛ | ⌛ |
| [InsecureCryptoIv](https://pmd.github.io/latest/pmd_rules_java_security.html#insecurecryptoiv) | pmd-java | 6.3.0 | ✅ | ⌛ | ⌛ |
diff --git a/src/main/resources/io/github/dgroup/arch4u/pmd/thirdparty/arch4u-recommended-third-party-ruleset.xml b/src/main/resources/io/github/dgroup/arch4u/pmd/thirdparty/arch4u-recommended-third-party-ruleset.xml
index ff4162e..2bee786 100644
--- a/src/main/resources/io/github/dgroup/arch4u/pmd/thirdparty/arch4u-recommended-third-party-ruleset.xml
+++ b/src/main/resources/io/github/dgroup/arch4u/pmd/thirdparty/arch4u-recommended-third-party-ruleset.xml
@@ -109,8 +109,15 @@
-
+
+
+
+
+
+
+
+