Nested ``match`` structures are difficult to understand because you can easily confuse the cases of an inner ``match`` as belonging to an outer statement. Therefore nested ``match`` statements should be avoided.

Specifically, you should structure your code to avoid the need for nested ``match`` statements, but if you cannot, then consider moving the inner ``match`` to another function.

== Noncompliant Code Example

----
def foo(n: Int, m: Int): Unit = {
  n match {
    case 0 => m match {
        case 0 =>
        // ...
      }
    case 1 =>
    // ...
  }
}
----

== Compliant Solution

----
def foo(n: Int, m: Int): Unit = {
  n match {
    case 0 => bar(m)
    case 1 =>
    // ...
  }
}

def bar(m: Int): Unit = {
  m match {
    case 0 =>
    // ...
  }
}
----
