private static OnlineLearning createOnlineLearning(String dataPath, LinkStorageConfig config,
                                                       Stopwords stopwords,
                                                       FrontierManager frontierManager) {

        LinkClassifierBuilder cb = new LinkClassifierBuilder(dataPath, stopwords, frontierManager);
        String onlineLearningType = config.getOnlineMethod();
        logger.info("Online Learning method:" + onlineLearningType);
        switch (onlineLearningType) {
            case "FORWARD_CLASSIFIER_BINARY":
                return new ForwardOnlineLearning(config.getLearningLimit(),
                        config.isOnlineLearningAsync(), frontierManager, cb,
                        ForwardOnlineLearning.Type.BINARY, dataPath);
            case "FORWARD_CLASSIFIER_LEVELS":
                return new ForwardOnlineLearning(config.getLearningLimit(),
                        config.isOnlineLearningAsync(), frontierManager, cb,
                        ForwardOnlineLearning.Type.LEVELS, dataPath);
            case "LINK_CLASSIFIERS":
                return new BipartiteOnlineLearning(config.getLearningLimit(),
                        config.isOnlineLearningAsync(), frontierManager, cb,
                        dataPath);
            default:
                throw new IllegalArgumentException(
                        "Unknown online learning method: " + onlineLearningType);
        }
    }
This method sends a link to crawler.
ache/src/main/java/achecrawler/link/LinkStorage.java