Overview
********

This document describes how to modify and extend different parts of the CTL4j.

CodeGen: Writing your own generator
***********************************

1) A generator has to inherit from 'Gen' or one of its subclasses.

2) The Constructor needs to set the attributes 'name' (name of the generated
class) and 'supername' (name of its superclass). Apart from this it is usually
safe to just call the superclass' constructor to do the rest.

3) The method genConstructors() is used to generate the wrappers for the
underlying classes constructors. The Konstruktor-array 'constr' provides all
the information that is needed for that task.

4) The method genWrappers() is used to generate the wrappers for all
normal methods. The Methode-array 'methods' provides all the necessary 
information needed.

5) The method genAccept() is used to generate the method which handles 
multiplexing the incoming calls to their respective target methods.

6) The method genHead() generates the classes header (import statements, etc).
You usually do not to override this method.

7) The method gen() is used for calling the above mentioned methods, therefore
you usually do not need to override it. In case you need to put additional code
into your class, this is the place to put it.

8) Use the already available generators as an example of writing your own. 
Studying and using the CTL4j's many utility functions will greatly ease your
task. The 'Main' class shows how to call the generator you created.
