private @Nullable ContentRevision createDelegateContentRevision() {
    if (LOG.isDebugEnabled()) {
      LOG.debug("FakeRevision queried for " + myFile.getPath() + (myCurrentRevision ? " (current)" : ""), new Throwable());
    }

    if (myCurrentRevision) {
      return new CurrentContentRevision(myFile);
    }

    VirtualFile virtualFile = myFile.getVirtualFile();
    if (virtualFile == null) return null;

    AbstractVcs vcs = ProjectLevelVcsManager.getInstance(myProject).getVcsFor(virtualFile);
    DiffProvider diffProvider = vcs != null ? vcs.getDiffProvider() : null;
    if (diffProvider == null) return null;

    ContentRevision delegateContent = diffProvider.createCurrentFileContent(virtualFile);
    if (delegateContent == null) return null;

    return delegateContent;
  }
private @Nullable ContentRevision createDelegateContentRevision()