The creation of templates and specializations
are supported in code generation. If both the template and its specialization
are in the same package, they are generated into the same file.
In
the file, the template is generated before its specialization to ensure
that the code runs as expected. A check is added to warn that the
template and template specialization are in different packages.
Note: If a nested class or attribute is marked
as a template parameter, it is not generated.