The variable Y obscures the type Y. See the JLS:
6.4.2. Obscuring
A simple name may occur in contexts where it may potentially be
interpreted as the name of a variable, a type, or a package. In these
situations, the rules of §6.5 specify that a variable will be chosen
in preference to a type, and that a type will be chosen in preference
to a package. Thus, it is may sometimes be impossible to refer to a
visible type or package declaration via its simple name. We say that
such a declaration is obscured.
The qualified name X.Y.Z is resolved according to:
6.5.2. Reclassification of Contextually Ambiguous Names
...
If the name to the left of the "." is reclassified as a TypeName, then:
If the Identifier is the name of a method or field of the type denoted by TypeName, this AmbiguousName is reclassified as an ExpressionName.
Otherwise, if the Identifier is the name of a member type of the type denoted by TypeName, this AmbiguousName is reclassified as a TypeName.
Otherwise, a compile-time error occurs.
This is unlikely to occur in practice because of the normal naming conventions for types and variables.