public void apply(
        final SvnVcs vcs, final List<RootUrlInfo> roots, final List<VirtualFile> lonelyRoots) {
      final SvnMapping mapping = new SvnMapping();
      mapping.addAll(roots);
      mapping.reportLonelyRoots(lonelyRoots);

      final SvnMapping groupedMapping = new SvnMapping();
      final List<RootUrlInfo> filtered = new ArrayList<RootUrlInfo>();
      ForNestedRootChecker.filterOutSuperfluousChildren(vcs, roots, filtered);

      groupedMapping.addAll(filtered);

      ApplicationManager.getApplication()
          .runReadAction(
              new Runnable() {
                @Override
                public void run() {
                  synchronized (myMonitor) {
                    myMapping.copyFrom(mapping);
                    myMoreRealMapping.copyFrom(groupedMapping);
                  }
                }
              });
      myProject.getMessageBus().syncPublisher(SvnVcs.ROOTS_RELOADED).run();
    }