@Override
  public Object getData(@NotNull @NonNls String dataId) {
    if (SELECTION_HISTORY_DIALOG_KEY.is(dataId)) {
      return this;
    }
    else if (CommonDataKeys.PROJECT.is(dataId)) {
      return myProject;
    }
    else if (VcsDataKeys.VCS_VIRTUAL_FILE.is(dataId)) {
      return myFile;
    }
    else if (VcsDataKeys.VCS_FILE_REVISION.is(dataId)) {
      VcsFileRevision selectedObject = myList.getSelectedObject();
      return selectedObject instanceof CurrentRevision ? null : selectedObject;
    }
    else if (VcsDataKeys.VCS_FILE_REVISIONS.is(dataId)) {
      return ContainerUtil.filter(myList.getSelectedObjects(), Conditions.notEqualTo(myBlockLoader.getLocalRevision()))
        .toArray(new VcsFileRevision[0]);
    }
    else if (VcsDataKeys.VCS.is(dataId)) {
      return myActiveVcs.getKeyInstanceMethod();
    }
    else if (PlatformCoreDataKeys.HELP_ID.is(dataId)) {
      return notNull(myVcsHistoryProvider.getHelpId(), "reference.dialogs.vcs.selection.history");
    }
    return null;
  }
@Override
  public Object getData(@NotNull @NonNls String dataId)