@Override
  public boolean isSaveNeeded() {
    Collection<Change> localChanges = LocalChangesUnderRoots.getChangesUnderRoots(Collections.singletonList(myRoot), myProject).get(myRoot);
    try {
      return !ContainerUtil.isEmpty(localChanges) ||
             GitUtil.hasLocalChanges(true, myProject, myRoot);
    }
    catch (VcsException e) {
      LOG.info("isSaveNeeded failed to check local changes", e);
      return true;
    }
  }
@Override
  public boolean isSaveNeeded()