== Why is this an issue?

When a closable statement contains nested statements, it can quickly become difficult to see which statements are nested and which are not. That's why ending a list of nested statements with ``++END-${STATEMENT-NAME}++`` is advised.


=== Noncompliant code example

[source,cobol]
----
READ DF-PARAM-SPILOTE AT END
  GO TO F-LECT-SPILOTE.
----


=== Compliant solution

[source,cobol]
----
READ DF-PARAM-SPILOTE AT END
  GO TO F-LECT-SPILOTE
END-READ.
----

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

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

=== Parameters

.evaluate
****

----
true
----

'true' to apply the rule to "EVALUATE" statements, 'false' otherwise
****
.perform
****

----
true
----

'true' to apply the rule to "PERFORM" statements, 'false' otherwise
****
.add
****

----
true
----

'true' to apply the rule to "ADD" statements, 'false' otherwise
****
.subtract
****

----
true
----

'true' to apply the rule to "SUBTRACT" statements, 'false' otherwise
****
.multiply
****

----
true
----

'true' to apply the rule to "MULTIPLY" statements, 'false' otherwise
****
.divide
****

----
true
----

'true' to apply the rule to "DIVIDE" statements, 'false' otherwise
****
.call
****

----
true
----

'true' to apply the rule to "CALL" statements, 'false' otherwise
****
.read
****

----
true
----

'true' to apply the rule to "READ" statements, 'false' otherwise
****
.write
****

----
true
----

'true' to apply the rule to "WRITE" statements, 'false' otherwise
****
.string
****

----
true
----

'true' to apply the rule to "STRING" statements, 'false' otherwise
****
.unstring
****

----
true
----

'true' to apply the rule to "UNSTRING" statements, 'false' otherwise
****
.if
****

----
true
----

'true' to apply the rule to "IF" statements, 'false' otherwise
****
.search
****

----
true
----

'true' to apply the rule to "SEARCH" statements, 'false' otherwise
****


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