| Block | 
 Directive that puts an unrendered AST block in the context
 under the specified key, postponing rendering until the
 reference is used and rendered. 
 | 
| Block.Reference | 
 actual class placed in the context, holds the context
 being used for the render, as well as the parent (which already holds
 everything else we need). 
 | 
| BlockMacro | 
 BlockMacro directive is used to invoke Velocity macros with normal parameters and a macro body. 
 | 
| Break | 
 Break directive used for interrupting scopes. 
 | 
| Define | 
 Directive that puts an unrendered AST block in the context
 under the specified key, postponing rendering until the
 reference is used and rendered. 
 | 
| Directive | 
 Base class for all directives used in Velocity. 
 | 
| Evaluate | 
 Evaluates the directive argument as a VTL string, using the existing
 context. 
 | 
| Foreach | 
 Foreach directive used for moving through arrays,
 or objects that provide an Iterator. 
 | 
| ForeachScope | 
 This represents scoping and metadata for #foreach,
 adding index, count, hasNext, isFirst and isLast info. 
 | 
| Include | 
 Pluggable directive that handles the #include() statement in VTL. 
 | 
| InputBase | 
 Base class for directives which do input operations
 (e.g. 
 | 
| Macro | 
 Macro implements the macro definition directive of VTL. 
 | 
| Macro.MacroArg | 
 MacroArgs holds the information for a single argument in a
 macro definition. 
 | 
| Parse | 
 Pluggable directive that handles the #parse()
 statement in VTL. 
 | 
| RuntimeMacro | 
 This class acts as a proxy for potential macros. 
 | 
| Scope | 
 This handles context scoping and metadata for directives. 
 | 
| Scope.Info | 
 Class to encapsulate and provide access to info about
 the current scope for debugging. 
 | 
| Stop | 
 This class implements the #stop directive which allows
 a user to stop the merging and rendering process. 
 | 
| VelocimacroProxy | 
 VelocimacroProxy.java
   a proxy Directive-derived object to fit with the current directive system 
 |