private static void addExtensionInDirectory(File moduleTargetClassesDirectory, String classesDirectoryPath,
                                                ClassLoader urlClassLoader,
                                                List<NamespaceMetaData> namespaceMetaDataList,
                                                Log logger,
                                                boolean includeOrigin) {
        File[] innerFiles = moduleTargetClassesDirectory.listFiles();
        if (innerFiles != null) {
            for (File innerFile : innerFiles) {
                if (innerFile.isDirectory()) {
                    addExtensionInDirectory(innerFile, classesDirectoryPath, urlClassLoader, namespaceMetaDataList,
                            logger, includeOrigin);
                } else {
                    addExtensionInFile(innerFile, classesDirectoryPath, urlClassLoader, namespaceMetaDataList,
                            logger, includeOrigin);
                }
            }
        }
    }
Search for class files in the directory and add extensions from them
This method recursively searches the sub directories

@param moduleTargetClassesDirectory The directory from which the extension metadata will be loaded
@param classesDirectoryPath         The absolute path to the classes directory in the target folder in the module
@param urlClassLoader               The url class loader which should be used for loading the classes
@param namespaceMetaDataList        List of namespace meta data
@param logger                       The maven logger
@param includeOrigin
modules/siddhi-doc-gen/src/main/java/io/siddhi/doc/gen/core/utils/DocumentationUtils.java