@Override
  public void dispose() {
    List<AbstractVcs> vcses;
    synchronized (myLock) {
      vcses = new ArrayList<>(myVcses.values());
      myVcses.clear();
    }
    for (AbstractVcs vcs : vcses) {
      unregisterVcs(vcs);
    }
  }
@Override
  public void dispose()