}
catch (InvocationTargetException exception)
{
Throwable cause = exception.getCause();
if (cause != null)
throw new CacheException("Caught exception invoking method " + method + " on listener instance " + target, cause);
else
throw new CacheException("Caught exception invoking method " + method + " on listener instance " + target, exception);
}
catch (IllegalAccessException exception)
{
log.warn("Unable to invoke method " + method + " on Object instance " + target + " - removing this target object from list of listeners!", exception);
removeCacheListener(target);