public static FunctionExecutorExtensionHolder getInstance(SiddhiAppContext siddhiAppContext) {
        ConcurrentHashMap<Class, AbstractExtensionHolder> extensionHolderMap = siddhiAppContext.getSiddhiContext
                ().getExtensionHolderMap();
        AbstractExtensionHolder abstractExtensionHolder = extensionHolderMap.get(clazz);
        if (abstractExtensionHolder != null && siddhiAppContext.getSiddhiContext().getSiddhiExtensions().size() !=
                abstractExtensionHolder.extensionMap.size()) {
            extensionHolderMap.remove(clazz);
            abstractExtensionHolder = new FunctionExecutorExtensionHolder(siddhiAppContext);
        } else if (abstractExtensionHolder == null) {
            abstractExtensionHolder = new FunctionExecutorExtensionHolder(siddhiAppContext);
        }
        extensionHolderMap.putIfAbsent(clazz, abstractExtensionHolder);
        return (FunctionExecutorExtensionHolder) extensionHolderMap.get(clazz);
    }
Holder to store {@link FunctionExecutor} Extensions.
modules/siddhi-core/src/main/java/io/siddhi/core/util/extension/holder/FunctionExecutorExtensionHolder.java