CommonIntentionAction (PsiElement context) { try { return ApplicationManager.getApplication().loadClass(implementationClass, pluginDescriptor) .asSubclass(CommonIntentionAction.class).getConstructor(PsiElement.class).newInstance(context); } catch (InvocationTargetException e) { if(e.getCause() instanceof ProcessCanceledException) { throw ((ProcessCanceledException)e.getCause()); } throw new PluginException("Error instantiating quick-fix " + implementationClass + " (error code: " + errorCode + ")", e.getCause(), pluginDescriptor.getPluginId()); } catch (ClassNotFoundException | InstantiationException | IllegalAccessException | NoSuchMethodException e) { throw new PluginException("Error instantiating quick-fix " + implementationClass + " (error code: " + errorCode + ")", e, pluginDescriptor.getPluginId()); } }