enricher/deprecated/src/main/java/io/fabric8/maven/enricher/deprecated/IconEnricher.java
private String getDefaultIconRef() {
        ProjectClassLoaders cls = getContext().getProjectClassLoaders();
        if (cls.isClassInCompileClasspath(false, "io.fabric8.funktion.runtime.Main") ||
            getContext().hasDependency( "io.fabric8.funktion", null)) {
            return "funktion";
        }
        if (cls.isClassInCompileClasspath(false, "org.apache.camel.CamelContext")) {
            return "camel";
        }
        if (getContext().hasPlugin(null, SpringBootConfigurationHelper.SPRING_BOOT_MAVEN_PLUGIN_ARTIFACT_ID)  ||
            cls.isClassInCompileClasspath(false, "org.springframework.boot.SpringApplication")) {
            return "spring-boot";
        }
        if (cls.isClassInCompileClasspath(false, "org.springframework.core.Constants")) {
            return "spring";
        }
        if (cls.isClassInCompileClasspath(false, "org.vertx.java.core.Handler", "io.vertx.core.Handler")) {
            return "vertx";
        }

        if (getContext().hasPlugin("org.wildfly.swarm", "wildfly-swarm-plugin") ||
            getContext().hasDependency( "org.wildfly.swarm", null)) {
            return "wildfly-swarm";
        }
        if (getContext().hasPlugin( "io.thorntail", "thorntail-maven-plugin") ||
            getContext().hasDependency( "io.thorntail", null)) {
            // use the WildFly Swarm icon until there's a dedicated Thorntail icon
            // Thorntail is a new name of WildFly Swarm
            return "wildfly-swarm";
        }

        return null;
    }
private String getDefaultIconRef() {
        ProjectClassLoaders cls = getContext().getProjectClassLoaders();
        if (cls.isClassInCompileClasspath(false, "io.fabric8.funktion.runtime.Main") ||
            getContext().hasDependency( "io.fabric8.funktion", null)) {
            return "funktion";
        }
        if (cls.isClassInCompileClasspath(false, "org.apache.camel.CamelContext")) {
            return "camel";
        }
        if (getContext().hasPlugin(null, SpringBootConfigurationHelper.SPRING_BOOT_MAVEN_PLUGIN_ARTIFACT_ID)  ||
            cls.isClassInCompileClasspath(false, "org.springframework.boot.SpringApplication")) {
            return "spring-boot";
        }
        if (cls.isClassInCompileClasspath(false, "org.springframework.core.Constants")) {
            return "spring";
        }
        if (cls.isClassInCompileClasspath(false, "org.vertx.java.core.Handler", "io.vertx.core.Handler")) {
            return "vertx";
        }

        if (getContext().hasPlugin("org.wildfly.swarm", "wildfly-swarm-plugin") ||
            getContext().hasDependency( "org.wildfly.swarm", null)) {
            return "wildfly-swarm";
        }
        if (getContext().hasPlugin( "io.thorntail", "thorntail-maven-plugin") ||
            getContext().hasDependency( "io.thorntail", null)) {
            // use the WildFly Swarm icon until there's a dedicated Thorntail icon
            // Thorntail is a new name of WildFly Swarm
            return "wildfly-swarm";
        }

        return null;
    }
Lets use the project and its classpath to try figure out what default icon to use

@return the icon ref if we can detect one or return null