protected String execute(String input, ActivityExecutionContext context) throws ActivityFailureException, CancellationException {
Object[] inputParameters = converter.fromData(input, Object[].class);
CurrentActivityExecutionContext.set(context);
Object result = null;
ActivityExecutionContext executionContext = contextProvider.getActivityExecutionContext();
String taskToken = executionContext.getTaskToken();
try {
result = swfWorkflowConsumer.processActivity(inputParameters, taskToken);
} catch (InvocationTargetException invocationException) {
throwActivityFailureException(invocationException.getTargetException() != null ? invocationException.getTargetException() : invocationException);