}
catch (SecurityException e)
{
logger.log(Level.SEVERE, OWBLogConst.ERROR_0011, WebBeansLoggerFacade.args(method.getName(), decorator.getClass().getName()));
throw new WebBeansException(e);
}
catch (NoSuchMethodException e)
{
continue;
}
catch (InvocationTargetException e)
{
Throwable cause = e.getCause();
//If the wrapped exception tells us the method didn't exist, continue
if(cause instanceof NoSuchMethodException)
{
continue;
}
logger.log(Level.SEVERE, OWBLogConst.ERROR_0012, WebBeansLoggerFacade.args(e.getTargetException(), method.getName(), decorator.getClass().getName()));
if (cause instanceof Exception)
{
throw (Exception) cause;
}
else if (cause instanceof Error)
{
throw (Error) cause;
}
else
{
throw new WebBeansException(e);
}
}
catch (IllegalAccessException e)
{
logger.log(Level.SEVERE, OWBLogConst.ERROR_0014, WebBeansLoggerFacade.args(method.getName(), decorator.getClass().getName()));
throw new WebBeansException(e);
}
}
position.remove();