@AroundInvoke
public Object handleCloseConversation(InvocationContext invocationContext) throws Exception
{
Object result = null;
CloseConversationGroup closeConversationGroup = getCloseConversationGroupAnnotation(invocationContext);
RuntimeException catchedException = null;
try
{
result = invocationContext.proceed();
}
catch (RuntimeException exception)
{
catchedException = exception;
}
if(isDefaultExceptionValue(closeConversationGroup) ||
(catchedException != null && checkExceptionToCatch(catchedException, closeConversationGroup.on())))
{
Class conversationGroup = getConversationGroup(invocationContext, closeConversationGroup);
this.windowContext.closeConversation(conversationGroup);
}