private void parseUsages(List<Monitor.Use> useList) throws CannotProduceStatCollector {
        for (Monitor.Use use: useList) {
            Class c = null;
            try {
                if (use.getCollector() != null) {
                    c = ClassEx.getClass(StatCollector.class, use.getCollector());
                    logger.info("Collector class: " + c);
                }
                else if (use.getValidator() != null) {
                    c = ClassEx.getClass(StatValidator.class, use.getValidator());
                    logger.info("Validator class: " + c);
                }
                if (c != null) {
                    String attrSelector = ((AttributePattern) c.getAnnotation(AttributePattern.class)).value();
                    logger.info("Associated with: " + attrSelector);
                    classMap.put(attrSelector, c);
                }
            }
            catch ( Exception e) {
                throw new CannotProduceStatCollector(e);
            }
        }        
    }