It is just a requirement enforced by many
Java compilers (javac included) ; it's not part of the
language definition. It allows the compiler to find
classes that it may need to compile while it's in
the process of compiling another class.
[ July 14, 2003: Message edited by: Ernest Friedman-Hill ]