Provides the data model for storing Java source code. The primary class here is {@link edu.rice.cs.drjava.model.definitions.DefinitionsDocument}. This is an extension of {@link javax.swing.text.PlainDocument} that contains a "reduced model", which allows the ability to match parentheses, do indentation, and highlight various kinds of text (syntactically) very efficiently. @see edu.rice.cs.drjava.model.definitions.reducedmodel