private void processImg(Element img, BaseEntry entry, RSSFeed feed) {
        if (img == null) {
            throw new NullPointerException("the arg:img can not be empty");
        }

        String src = img.attr("src");
        logger.debug("the original src attr is :" + src);
        if (StringUtils.isEmpty(src)) {
            return;
        }

        String urlStr = src.startsWith("http://") ? src : entry.getFeedLink() + src;
        logger.debug("processed url str is :" + urlStr);

        try {
            URLEncoder.encode(urlStr, "utf-8");
        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        }

        if (!helper.endWithOneOfMulti(urlStr.toLowerCase(), imgExtends)) {
            logger.debug("matched extend url :" + urlStr);
            img.remove();
        } else {
            BaseImage imgObj = new RSSImage();
            imgObj.setDomain(feed.getLink());
            imgObj.setRef(entry.getLink());
            imgObj.setSrc(urlStr);
            String localPath = this.generateImageLocalPath(this.getEntryPath(feed, entry),
                helper.getFileNameFromPathOrUrl(src));
            imgObj.setLocalPath(localPath);
            img.attr("src", localPath);

            this.imgSender.push(imgObj);
        }

    }