private void reloadPatchFromFile() {
    cleanNotifications();
    final FilePresentationModel filePresentationModel = myRecentPathFileChange.get();
    final VirtualFile file = filePresentationModel != null ? filePresentationModel.getVf() : null;
    if (file == null) {
      ApplicationManager.getApplication().invokeLater(myReset, ModalityState.stateForComponent(myCenterPanel));
      return;
    }
    myReader = loadPatches(file);
    final PatchFileHeaderInfo patchFileInfo = myReader != null ? myReader.getPatchFileInfo() : null;
    final String messageFromPatch = patchFileInfo != null ? patchFileInfo.getMessage() : null;
    VcsUser author = patchFileInfo != null ? patchFileInfo.getAuthor() : null;
    if (author != null && myChangeListChooser != null) {
      myChangeListChooser.setData(new ChangeListData(author));
    }
    List<FilePatch> filePatches = new ArrayList<>();
    if (myReader != null) {
      filePatches.addAll(myReader.getAllPatches());
    }
    if (!ContainerUtil.isEmpty(myBinaryShelvedPatches)) {
      filePatches.addAll(myBinaryShelvedPatches);
    }
    List<AbstractFilePatchInProgress<?>> matchedPatches =
      new MatchPatchPaths(myProject).execute(filePatches, myUseProjectRootAsPredefinedBase);

    ApplicationManager.getApplication().invokeLater(() -> {
      if (StringUtil.isNotEmpty(messageFromPatch) && myChangeListChooser != null) {
        myChangeListChooser.setChangeListDescription(messageFromPatch);
      }
      else if (myShouldUpdateChangeListName && myChangeListChooser != null) {
        String subject = chooseNotNull(getSubjectFromMessage(messageFromPatch), file.getNameWithoutExtension().replace('_', ' ').trim());
        myChangeListChooser.setSuggestedName(subject, messageFromPatch, false);
      }
      myPatches.clear();
      myPatches.addAll(matchedPatches);
      updateTree(true);
      paintBusy(false);
      updateOkActions();
    }, ModalityState.stateForComponent(myCenterPanel));
  }
private void reloadPatchFromFile()