List<String> generateTypeStubs(final CharSequence[] scope) throws IOException
    {
        final List<String> typesToInclude = new ArrayList<>();

        for (final List<Token> tokens : ir.types())
        {
            switch (tokens.get(0).signal())
            {
                case BEGIN_ENUM:
                    generateEnum(scope, tokens);
                    break;

                case BEGIN_SET:
                    generateChoiceSet(scope, tokens);
                    break;

                case BEGIN_COMPOSITE:
                    generateComposite(scope, tokens);
                    break;

                default:
                    break;
            }

            typesToInclude.add(tokens.get(0).applicableTypeName());
        }

        return typesToInclude;
    }
Generate the composites for dealing with the message header.

@throws IOException if an error is encountered when writing the output.
sbe-tool/src/main/java/uk/co/real_logic/sbe/generation/c/CGenerator.java