public Map<String, BaseImage> getAllImageObjsWithFeed(BaseFeed feed) {
        if (!hasInited) {
            throw new RuntimeException("there is something error occured in init()");
        }

        if (feed == null) {
            throw new NullPointerException("the arg:feed can not be null");
        }

        if (StringUtils.isEmpty(feed.getLink())) {
            throw new IllegalArgumentException("the arg:feed's property:link can not be null or empty");
        }


        String key = this.getImageCacheKey(feed.getLink());
        Map<String, String> imgsOfMap = this.jedis.hgetAll(key);
        Map<String, BaseImage> imgObjMap = new HashMap<String, BaseImage>(imgsOfMap.size());

        for (Map.Entry<String, String> kvPair : imgsOfMap.entrySet()) {
            imgObjMap.put(kvPair.getKey(), helper.gson.fromJson(kvPair.getValue(), BaseImage.class));
        }

        return imgObjMap;
    }