/** {@inheritDoc} */
 @Override
 public boolean equals(Object obj) {
   if (obj == null) {
     return false;
   }
   if (obj.getClass() == getClass()) {
     FolderCALResourceContainer otherContainer = (FolderCALResourceContainer) obj;
     return pathMapper == otherContainer.pathMapper && root.equals(otherContainer.root);
   }
   return false;
 }
 public void addRoot(IPackageFragmentRoot root) {
   if (root != null) {
     String handleIdentifier = root.getHandleIdentifier();
     Map<String, IPackageFragmentRoot> roots = associatedRoots;
     if (!root.equals(roots.get(handleIdentifier))) {
       Map<String, IPackageFragmentRoot> copy = newLinkedHashMap(roots);
       copy.put(handleIdentifier, root);
       associatedRoots = copy;
     }
   }
 }