protected void perform(
     final CoreException e, final Shell shell, final String title, final String message) {
   GUnitPlugin.log(e);
   final IStatus status = e.getStatus();
   if (status != null) {
     ErrorDialog.openError(shell, title, message, status);
   } else {
     displayMessageDialog(e, e.getMessage(), shell, title, message);
   }
 }
 protected void perform(
     final InvocationTargetException e,
     final Shell shell,
     final String title,
     final String message) {
   final Throwable target = e.getTargetException();
   if (target instanceof CoreException) {
     perform((CoreException) target, shell, title, message);
   } else {
     GUnitPlugin.log(e);
     if (e.getMessage() != null && e.getMessage().length() > 0) {
       displayMessageDialog(e, e.getMessage(), shell, title, message);
     } else {
       displayMessageDialog(e, target.getMessage(), shell, title, message);
     }
   }
 }