@Nullable
  @Override
  public Object getData(@NotNull String dataId) {
    if (COMMITTED_CHANGES_TREE_DATA_KEY.is(dataId)) {
      return this;
    }
    if (VcsDataKeys.CHANGES.is(dataId)) {
      return collectChanges(getSelectedChangeLists(), false).toArray(Change.EMPTY_CHANGE_ARRAY);
    }
    if (VcsDataKeys.CHANGE_LISTS.is(dataId)) {
      List<CommittedChangeList> changeLists = getSelectedChangeLists();
      return !changeLists.isEmpty() ? changeLists.toArray(new CommittedChangeList[0]) : null;
    }
    if (VcsDataKeys.SELECTED_CHANGES_IN_DETAILS.is(dataId)) {
      return myDetailsView.getSelectedChanges().toArray(Change.EMPTY_CHANGE_ARRAY);
    }
    if (CommonDataKeys.NAVIGATABLE_ARRAY.is(dataId)) {
      Collection<Change> changes = collectChanges(getSelectedChangeLists(), false);
      return getNavigatableArray(myProject, iterateFiles(changes));
    }
    if (PlatformCoreDataKeys.HELP_ID.is(dataId)) {
      return myHelpId;
    }
    return null;
  }
@Nullable
  @Override
  public Object getData(@NotNull String dataId)