* Create an instance of {@link IntegrationPlugin} of the class determined
* on construction based upon the configuration information provided.
* @return an instance of {@link IntegrationPlugin}
*/
protected IntegrationPlugin createInstance() {
IntegrationPlugin result;
try {
result = (IntegrationPlugin) pluginImplementationClass.newInstance();
try {
result.initialize(immutablePluginArguments);
} catch (Exception e) {
// Return an error plugin but don't save it as this may not
// happen every time.
result = createErrorPlugin(
messageLocalizer.format(