} catch (ExecutionException e) {
if (e.getCause() instanceof RuntimeException) {
throw (RuntimeException)e.getCause();
} else {
throw new Fault(e.getCause());
<BUG>}
}</BUG>
}
}
}

} catch (ExecutionException e) {
if (e.getCause() instanceof RuntimeException) {
throw (RuntimeException)e.getCause();
} else {
throw new Fault(e.getCause());
}
} finally {
if (PropertyUtils.isTrue(exchange.remove(Message.SUSPENDED_INVOCATION))) {
message.getInterceptorChain().suspend();
}
}
}
}
}
