This is a text description of tmplclrl.gif. This figure illustrates the relationship of the classes that interact to produce a dynamic Source. At the top of the figure are DataProvider and MetadataState objects. Under them is a Template. Arrows from the DataProvider and the MetadataState indicate that you pass those objects to the Template constructor when you instantiate a Template. Below the Template is a SourceGenerator. Below that is Source and below that is a DynamicDefinition. An arrow goes from the SourceGenerator to the createDynamicDefinition method of the Template to indicate that you pass a SourceGenerator to the method. An arrow goes from the createDynamicDefinition method to the DynamicDefinition to indicate that the method returns a DynamicDefinition based on the SourceGenerator. An arrow goes from the generateSource method of the SourceGenerator to the Source to indicate that the method produces a Source. An arrow goes from the getSource method of the DynamicDefinition to the Source to indicate that the method returns the same Source that is produced by the generateSource method.