@Override
    public void execute() throws MojoExecutionException {
        if (pathToModelDir == null) {
            throw new MojoExecutionException("pathToModelDir parameter must not be null");
        }

        // skip if input file does not exist
        if (inputCamelSchemaFile == null || !inputCamelSchemaFile.exists()) {
            getLog().info("Input Camel schema file: " + inputCamelSchemaFile + " does not exist. Skip EIP document enrichment");
            return;
        }

        validateExists(inputCamelSchemaFile, "inputCamelSchemaFile");
        validateIsFile(inputCamelSchemaFile, "inputCamelSchemaFile");
        validateExists(camelCoreXmlDir, "camelCoreXmlDir");
        validateIsDirectory(camelCoreModelDir, "camelCoreModelDir");
        validateIsDirectory(camelCoreXmlDir, "camelCoreXmlDir");

        try {
            runPlugin();
        } catch (Exception e) {
            throw new MojoExecutionException("Error during plugin execution", e);
        }
        if (deleteFilesAfterRun != null) {
            deleteFilesAfterDone(deleteFilesAfterRun);
        }
    }
@Test
    public void testExecuteCamelCoreIsNull() {
        eipDocumentationEnricherMojo.camelCoreModelDir = null;

        when(mockInputSchema.exists()).thenReturn(true);
        when(mockInputSchema.isFile()).thenReturn(true);

        try {
            eipDocumentationEnricherMojo.execute();
            fail("Expected MojoExecutionException");
        } catch (MojoExecutionException e) {
            // Expected.
        }
    }