public synchronized boolean renameFavoritesList(
     @NotNull String oldName, @NotNull String newName) {
   if (myReadOnlyLists.contains(oldName)) return false;
   List<TreeItem<Pair<AbstractUrl, String>>> list = myName2FavoritesRoots.remove(oldName);
   if (list != null && newName.length() > 0) {
     myName2FavoritesRoots.put(newName, list);
     fireListeners.listRemoved(oldName);
     fireListeners.listAdded(newName);
     return true;
   }
   return false;
 }
 public synchronized boolean isReadOnly(@NotNull final String listName) {
   return myReadOnlyLists.contains(listName);
 }
 public synchronized boolean removeFavoritesList(@NotNull String name) {
   if (myReadOnlyLists.contains(name)) return false;
   boolean result = myName2FavoritesRoots.remove(name) != null;
   fireListeners.listRemoved(name);
   return result;
 }
 public synchronized boolean allowsTree(@NotNull final String name) {
   return myAllowsTreeLists.contains(name);
 }