@Override
 public boolean removeRoot(@NotNull String url, @NotNull OrderRootType rootType) {
   assert !isDisposed();
   LOG.assertTrue(isWritable());
   final VirtualFilePointerContainer container = myRoots.get(rootType);
   final VirtualFilePointer byUrl = container.findByUrl(url);
   if (byUrl != null) {
     container.remove(byUrl);
     myJarDirectories.remove(rootType, url);
     return true;
   }
   return false;
 }
 @Override
 public boolean isValid(@NotNull final String url, @NotNull final OrderRootType rootType) {
   final VirtualFilePointerContainer container = myRoots.get(rootType);
   final VirtualFilePointer fp = container.findByUrl(url);
   return fp != null && fp.isValid();
 }