Having two cases in a when statement or two branches in an if chain with the same implementation is at best duplicate code, and at worst a coding error. If the same logic is truly needed for both instances, then in an if chain they should be combined, or for a when, one should fall through to the other.

Exceptions

Blocks in an if chain that contain a single line of code are ignored, as are blocks in a when statement that contain a single line of code with or without a following break.

But this exception does not apply to if chains without else-s, or to when-es without default clauses when all branches have the same single line of code. In case of if chains with else-s, or of when-es with default clauses, rule {rule:kotlin:S3923} raises a bug.