== Why is this an issue? Nested ``++switch++`` structures are difficult to understand because you can easily confuse the cases of an inner ``++switch++`` as belonging to an outer statement or expression. Therefore nested ``++switch++`` statements and expressions should be avoided. Specifically, you should structure your code to avoid the need for nested ``++switch++`` statements or expressions, but if you cannot, then consider moving the inner ``++switch++`` to another method. === Noncompliant code example [source,java] ---- void foo(int n, int m) { switch (n) { case 0: switch (m) { // Noncompliant; nested switch // ... } case 1: // ... default: // ... } } ---- === Compliant solution [source,java] ---- void foo(int n, int m) { switch (n) { case 0: bar(m); case 1: // ... default: // ... } } void bar(int m){ switch(m) { // ... } } ---- ifdef::env-github,rspecator-view[] ''' == Implementation Specification (visible only on this page) include::../message.adoc[] ''' == Comments And Links (visible only on this page) include::../comments-and-links.adoc[] endif::env-github,rspecator-view[]