@Override
    public synchronized void init(ProcessingEnvironment processingEnv) {
        super.init(processingEnv);
        this.koraAppElement = this.elements.getTypeElement(CommonClassNames.koraApp.canonicalName());
        if (this.koraAppElement == null) {
            return;
        }
        this.moduleElement = this.elements.getTypeElement(CommonClassNames.module.canonicalName());
        this.koraSubmoduleElement = this.elements.getTypeElement(CommonClassNames.koraSubmodule.canonicalName());
        this.componentElement = this.elements.getTypeElement(CommonClassNames.component.canonicalName());
        this.initialized = true;
        this.ctx = new ProcessingContext(processingEnv);
        log.info("@KoraApp processor started");
    }
@Test
    void appWithComonentDescriptorCollision() throws Throwable {
        var graphDraw = testClass(AppWithComponentCollision.class);
        Assertions.assertThat(graphDraw.getNodes()).hasSize(3);
        var materializedGraph = graphDraw.init();
        Assertions.assertThat(materializedGraph).isNotNull();
    }