class CloudEventsResourceGenerator {

    public String generate() {
        final CompilationUnit clazz = this.parseTemplate();
        final ClassOrInterfaceDeclaration template = clazz
                .findFirst(ClassOrInterfaceDeclaration.class)
                .orElseThrow(() -> new NoSuchElementException("Compilation unit doesn't contain a class or interface declaration!"));
        template.setName(CLASS_NAME);
        this.addChannels(template);
        this.addInjection(template);

        template.getMembers().sort(new BodyDeclarationComparator());
        return clazz.toString();
    }

    public  CloudEventsResourceGenerator(final List<ProcessExecutableModelGenerator> generators, final DependencyInjectionAnnotator annotator);
      CloudEventsResourceGenerator(final List<ProcessExecutableModelGenerator> generators);

}