The class-name of a class referenced within a source element must be either the name of the containing class definition or declared in the Repository paragraph
or the Class-Control paragraph
of that or a containing source element.
Within a compilation group, there must be at most one class definition for a given class-name.
The interface-name of an interface referenced within a source element must be either the name of the containing interface definition or declared in the Repository paragraph of that or a containing source element.
Within a compilation group, there must be at most one interface definition for a given interface-name.
A class-name or interface-name declared in the Repository paragraph of a source element may be used in that source element and any nested source element.
A class-name or interface-name declared in the Class-Control paragraph of a source element may be used in that source element and any nested source element.