{
InvokerEvent primaryEvent = invokers.get(primary.getId());
if (primaryEvent != null)
{
InvokerResult result = primaryEvent.getResult();
if (result != null)
{
Object primaryValue = result.getValue();
Exception primaryException = result.getException();
InvokerEvent backupEvent = invokers.get(backup.getId());
if (backupEvent != null)
{
InvokerResult backupResult = backupEvent.getResult();
if (backupResult != null)
{
Object backupValue = backupResult.getValue();
Exception backupException = backupResult.getException();
if (primaryException != null)
{
if ((backupException == null) || !invocation.getExceptionType().getExceptionFactory().equals(primaryException, backupException))
{