From Java Language Specification, Chapter 14, Blocks and Statements:
The sequence of execution of a program is controlled by statements, which are
executed for their effect and do not have values.Some statements contain other statements as part of their structure; such other
statements are substatements of the statement. We say that statement S immediately
contains statement U if there is no statement T different from S and U such that
S contains T and T contains U. In the same manner, some statements contain
expressions as part of their structure.
What does it mean that statement S immediately contains statement U if there is no statement T different from S and U such that S contains T and T contains U.?
JLS #14.5 defines a statement as:
So the only statements that can have substatement (= can contain other statements) are labels, if, else, while and for.
The meaning then becomes clearer – if for example, S, T and U are defined as:
Statement S immediately contains statement T which immediately contains statement U. But S does not immediately contain U.