== Why is this an issue?

Having all branches of a `when` or `if` chain with the same implementation indicates a problem.

In the following code:

[source,kotlin]
----
if (b == 0) {  // Noncompliant
     doOneMoreThing()
} else {
     doOneMoreThing()
}

when (i) {  // Noncompliant
    1 -> doSomething()
    2 -> doSomething()
    3 -> doSomething()
    else -> doSomething()
}
----

Either there is a copy-paste error that needs fixing or an unnecessary `when` or `if` chain that needs removing.

=== Exceptions

This rule does not apply to `if` chains without `else`, nor to `when` without an `else` clause.


[source,kotlin]
----
if (b == 0) {
    doOneMoreThing()
} else if (b == 1) {
    doOneMoreThing()
}
----

ifdef::env-github,rspecator-view[]

'''
== Implementation Specification
(visible only on this page)

include::../message.adoc[]

include::../highlighting.adoc[]

'''
== Comments And Links
(visible only on this page)

include::../comments-and-links.adoc[]

endif::env-github,rspecator-view[]
