== Why is this an issue? A chain of ``++if-else-if++`` or ``++switch-case++`` statements is evaluated from top to bottom. At most, only one branch will be executed: the first one with a condition that evaluates to ``++true++`` or that matches the discriminant of the ``++switch++``. Therefore, duplicating a condition automatically leads to dead code. Usually, this is due to a copy/paste error. At best, it's simply dead code and at worst, it's a bug that is likely to induce further bugs as the code is maintained, and obviously it could lead to unexpected behavior.   _Note that this rule requires Node.js to be available during analysis._ === Noncompliant code example [source,javascript] ---- if (param == 1) openWindow(); else if (param == 2) closeWindow(); else if (param == 1) // Noncompliant moveWindowToTheBackground(); switch (param) { case 1: openWindow(); break; case 2: closeWindow(); break; case 1: // Noncompliant moveWindowToTheBackground(); break; } ---- === Compliant solution [source,javascript] ---- if (param == 1) openWindow(); else if (param == 2) closeWindow(); else if (param == 3) moveWindowToTheBackground(); switch (param) { case 1: openWindow(); break; case 2: closeWindow(); break; case 3: moveWindowToTheBackground(); break; } ---- ifdef::env-github,rspecator-view[] ''' == Implementation Specification (visible only on this page) === Message This branch duplicates the one on line n. include::../highlighting.adoc[] ''' == Comments And Links (visible only on this page) include::../comments-and-links.adoc[] endif::env-github,rspecator-view[]