throws PluginContainerException {
try {
final OperationInvocation[] theJob = new OperationInvocation[1]; // need array so we can use it in the timer task
final long invocationTime = System.currentTimeMillis();
OperationDefinition operationDefinition = getOperationDefinition(resourceId, operationName);
if (operationDefinition != null && operationDefinition.getParametersConfigurationDefinition() != null
&& parameterConfig != null) {
ConfigurationUtility.normalizeConfiguration(parameterConfig, operationDefinition
.getParametersConfigurationDefinition());
}
// create our timer task that will force the operation invocation to time out if it takes too long to complete
final long operationTimeout = getOperationTimeout(operationDefinition, parameterConfig);