@Override
  public @NotNull ModCommand perform(@NotNull ActionContext context) {
    PsiClassType aClass = getRuntimeExceptionAtCaret(context);
    PsiMethod method = PsiTreeUtil.getParentOfType(context.findLeaf(), PsiMethod.class);
    if (method == null) return nop();
    ModCommand command =
      AddExceptionToThrowsFix.addExceptionsToThrowsList(context.project(), method, Collections.singleton(aClass), myProcessHierarchy);
    if (command == null) {
      return chooseAction(QuickFixBundle.message("add.runtime.exception.to.throws.header"),
                          new AddRuntimeExceptionToThrowsAction(ThreeState.YES),
                          new AddRuntimeExceptionToThrowsAction(ThreeState.NO));
    }
    return command;
  }
@Override
  public @NotNull ModCommand perform(@NotNull ActionContext context)