class BdaAgentRegistry {

    // map archive path -> BeanClassRefreshAgent
    private static Map<String, BeanClassRefreshAgent> INSTANCES = new ConcurrentHashMap<>();

    public static Map<String, BeanClassRefreshAgent> getInstances() {
        return INSTANCES;
    }

    public static boolean contains(String archivePath) {
        return INSTANCES.containsKey(archivePath);
    }

    public static void put(String archivePath, BeanClassRefreshAgent bdaAgent) {
        INSTANCES.put(archivePath, bdaAgent);
    }

    public static BeanClassRefreshAgent get(String archivePath) {
        return INSTANCES.get(archivePath);
    }

    public static Collection<BeanClassRefreshAgent> values() {
        return INSTANCES.values();
    }

    /**
     * Iterate over agents and find the one containing the class by name
     *
     * @param className
     * @return
     */
    public static String getArchiveByClassName(String className){<FILL_FUNCTION_BODY>}
}

        for(BeanClassRefreshAgent agent: INSTANCES.values()) {
            if(agent.getDeploymentArchive().getBeanClasses().contains(className)) {
                return agent.getArchivePath();
            }
        }
        return null;
    
<no_super_class>