notification-portlet-webapp/src/main/java/org/jasig/portlet/notice/service/classloader/ClassLoaderResourceNotificationService.java
private NotificationResponse fetchFromClasspath(List<String> locations) {

        if (locations.isEmpty()) {
            return NotificationResponse.EMPTY_RESPONSE;
        }

        NotificationResponse rslt;

        final Element m = cache.get(locations);
        if (m != null) {
            // ## CACHE HIT ##
            rslt = (NotificationResponse) m.getObjectValue();
            logger.debug("Locations cache HIT for collection {};  size={}", locations, rslt.size());
        } else {
            // ## CACHE MISS ##
            rslt = new NotificationResponse();
            for (String loc : locations) {
                final NotificationResponse response = readFromFile(loc);
                rslt = rslt.combine(response);
            }
            logger.debug("Locations cache MISS for collection {};  size={}", locations, rslt.size());
            cache.put(new Element(locations, rslt));
        }

        return rslt;

    }
private NotificationResponse fetchFromClasspath(List<String> locations) {

        if (locations.isEmpty()) {
            return NotificationResponse.EMPTY_RESPONSE;
        }

        NotificationResponse rslt;

        final Element m = cache.get(locations);
        if (m != null) {
            // ## CACHE HIT ##
            rslt = (NotificationResponse) m.getObjectValue();
            logger.debug("Locations cache HIT for collection {};  size={}", locations, rslt.size());
        } else {
            // ## CACHE MISS ##
            rslt = new NotificationResponse();
            for (String loc : locations) {
                final NotificationResponse response = readFromFile(loc);
                rslt = rslt.combine(response);
            }
            logger.debug("Locations cache MISS for collection {};  size={}", locations, rslt.size());
            cache.put(new Element(locations, rslt));
        }

        return rslt;

    }
/*
Implementation