See: Description
This language model follows a mirror-based design; see
Gilad Bracha and David Ungar. Mirrors: Design Principles for Meta-level Facilities of Object-Oriented Programming Languages. In Proc. of the ACM Conf. on Object-Oriented Programming, Systems, Languages and Applications, October 2004.In particular, the model makes a distinction between static language constructs, like the element representing
java.util.Set, and the family of types that may be associated with an element, like the raw type
java.util.Set,
java.util.Set<String>, and
java.util.Set<T>.
Unless otherwise specified, methods in this package will throw a NullPointerException if given a null argument.