# Extending PMD Use XPath to define a new rule for PMD to prevent complex code. The rule should detect the use of three or more nested `if` statements in Java programs so it can detect patterns like the following: ```Java if (...) { ... if (...) { ... if (...) { .... } } } ``` Notice that the nested `if`s may not be direct children of the outer `if`s. They may be written, for example, inside a `for` loop or any other statement. Write below the XML definition of your rule. You can find more information on extending PMD in the following link: https://pmd.github.io/latest/pmd_userdocs_extending_writing_rules_intro.html, as well as help for using `pmd-designer` [here](https://gitlab2.istic.univ-rennes1.fr/VV-2025-2026/VV-ISTIC-TP2/-/blob/main/exercises/designer-help.md). Use your rule with different projects and describe you findings below. See the [instructions](../sujet.md) for suggestions on the projects to use. ## Answer ```xml Ruleset pour détecter 3 niveaux (ou plus) de if imbriqués. Three or more nested `if` ! 3 ``` en testant un programme Java, il détecte bien les imbrications de 'if' même s'ils ne sont pas directement imbriqués, séparés par un while par exemple