@Override
    public void save(IArticle article) throws ArticleWriteException {
        try {
            if (!targetFolder.toFile().exists()) {
                throw new ArticleWriteException("Target folder don't exists: %s", targetFolder.toFile().getAbsoluteFile());
            }
            Path target = Paths.get(targetFolder.toAbsolutePath() + "\\" + article.getName() + ".html");
            LOG.debug(format("Сохраняю статью: \"%s\"", target.toAbsolutePath()));
            if (!target.toFile().exists()) {
                Files.write(target, Arrays.asList(article.getHtml()), Charset.forName("UTF-8"));
            } else {
                LOG.debug(format("%s уже загружен: %s", toString(), target));
            }
            List<? extends IResource> resources = article.getResources();
            for (IResource resource : resources) {
                saveResource(resource);
            }
        } catch (IOException e) {
            throw new ArticleWriteException(e.getMessage(), e);
        }
    }