class ViewConfigReloadCommand extends MergeableCommand {

    private static AgentLogger LOGGER = AgentLogger.getLogger(ViewConfigReloadCommand.class);

    ClassLoader classLoader;
    Object viewConfigExtension;
    List<String> rootClassNameList;

    public ViewConfigReloadCommand(ClassLoader classLoader, Object viewConfigExtension, List<String> rootClassNameList) {
        this.classLoader = classLoader;
        this.viewConfigExtension = viewConfigExtension;
        this.rootClassNameList = rootClassNameList;
    }

    @Override
    public void executeCommand() {<FILL_FUNCTION_BODY>}

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;

        ViewConfigReloadCommand that = (ViewConfigReloadCommand) o;

        if (!classLoader.equals(that.classLoader)) return false;
        if (!viewConfigExtension.equals(that.viewConfigExtension)) return false;
        if (!rootClassNameList.equals(that.rootClassNameList)) return false;

        return true;
    }

    @Override
    public int hashCode() {
        int result = classLoader.hashCode();
        result = 31 * result + (rootClassNameList != null ? rootClassNameList.hashCode() : 0);
        return result;
    }

    @Override
    public String toString() {
        return "ViewConfigExtensionRefreshCommand{" +
                "appClassLoader=" + classLoader +
                ", viewConfigRootClassNames='" + rootClassNameList + '\'' +
                '}';
    }
}

        try {
            LOGGER.debug("Executing ViewConfigReloader.reloadViewConfig('{}')", rootClassNameList);
            Class<?> reloaderClazz = Class.forName(ViewConfigReloader.class.getName(), true, classLoader);
            Method m  = reloaderClazz.getDeclaredMethod("reloadViewConfig", new Class[] {ClassLoader.class, Object.class, java.util.List.class});
            m.invoke(null, classLoader, viewConfigExtension, rootClassNameList);
        } catch (NoSuchMethodException e) {
            throw new IllegalStateException("Plugin error, method not found", e);
        } catch (InvocationTargetException e) {
            LOGGER.error("Error refreshing classes '{}' in appClassLoader {}", e, rootClassNameList, classLoader);
        } catch (IllegalAccessException e) {
            throw new IllegalStateException("Plugin error, illegal access", e);
        } catch (ClassNotFoundException e) {
            throw new IllegalStateException("Plugin error, CDI class not found in classloader", e);
        }
    
<methods>public non-sealed void <init>() ,public List<org.hotswap.agent.command.Command> getMergedCommands() ,public org.hotswap.agent.command.Command merge(org.hotswap.agent.command.Command) ,public List<org.hotswap.agent.command.Command> popMergedCommands() <variables>List<org.hotswap.agent.command.Command> mergedCommands