private static boolean containsUnresolvedConflicts(@NotNull CheckinProjectPanel panel) {
   for (Change change : panel.getSelectedChanges()) {
     FileStatus status = change.getFileStatus();
     if (status.equals(FileStatus.MERGE)
         || status.equals(FileStatus.MERGED_WITH_BOTH_CONFLICTS)
         || status.equals(FileStatus.MERGED_WITH_CONFLICTS)
         || status.equals(FileStatus.MERGED_WITH_PROPERTY_CONFLICTS)) {
       return true;
     }
   }
   return false;
 }
  @Override
  public boolean equals(final Object o) {
    if (this == o) return true;
    if (!(o instanceof ShelvedChange)) return false;

    final ShelvedChange that = (ShelvedChange) o;

    if (myAfterPath != null ? !myAfterPath.equals(that.myAfterPath) : that.myAfterPath != null)
      return false;
    if (myBeforePath != null ? !myBeforePath.equals(that.myBeforePath) : that.myBeforePath != null)
      return false;
    if (myFileStatus != null ? !myFileStatus.equals(that.myFileStatus) : that.myFileStatus != null)
      return false;
    if (myPatchPath != null ? !myPatchPath.equals(that.myPatchPath) : that.myPatchPath != null)
      return false;

    return true;
  }