@Override
 public void validateNameUniqueness(Map<CaseInsensitiveString, AbstractMaterialConfig> map) {
   if (StringUtils.isBlank(scmId)) {
     return;
   }
   if (map.containsKey(new CaseInsensitiveString(scmId))) {
     AbstractMaterialConfig material = map.get(new CaseInsensitiveString(scmId));
     material.addError(SCM_ID, "Duplicate SCM material detected!");
     addError(SCM_ID, "Duplicate SCM material detected!");
   } else {
     map.put(new CaseInsensitiveString(scmId), this);
   }
 }
 public void setConfigAttributes(Object attributes) {
   if (attributes == null) {
     return;
   }
   super.setConfigAttributes(attributes);
   Map map = (Map) attributes;
   this.scmId = (String) map.get(SCM_ID);
   if (map.containsKey(FOLDER)) {
     String folder = (String) map.get(FOLDER);
     if (StringUtils.isBlank(folder)) {
       folder = null;
     }
     this.folder = folder;
   }
   if (map.containsKey(FILTER)) {
     String pattern = (String) map.get(FILTER);
     if (!StringUtil.isBlank(pattern)) {
       this.setFilter(Filter.fromDisplayString(pattern));
     } else {
       this.setFilter(null);
     }
   }
 }