@Nullable
  public static BaseContent getBaseRevision(@NotNull Project project, @NotNull VirtualFile file) {
    if (!isHandledByVcs(project, file)) {
      if (LOG.isDebugEnabled()) {
        LOG.debug(String.format("File is not under VCS: %s", file));
      }
      return createFromProvider(project, file);
    }

    ChangeListManager changeListManager = ChangeListManager.getInstance(project);

    Change change = changeListManager.getChange(file);
    if (change != null) {
      if (LOG.isDebugEnabled()) {
        LOG.debug(String.format("Content by Change %s: %s", change, file));
      }
      return createFromLocalChange(project, change);
    }

    FileStatus status = changeListManager.getStatus(file);
    if (LOG.isDebugEnabled()) {
      LOG.debug(String.format("File status is %s: %s", status, file));
    }

    if (status == FileStatus.HIJACKED) {
      return createForHijacked(project, file);
    }
    if (status == FileStatus.NOT_CHANGED) {
      if (FileDocumentManager.getInstance().isFileModified(file)) {
        if (LOG.isDebugEnabled()) {
          LOG.debug(String.format("Document is modified: %s", file));
        }
        return createForModifiedDocument(project, file);
      }
    }
    return null;
  }
@Nullable
  public static BaseContent getBaseRevision(@NotNull Project project, @NotNull VirtualFile file)