code: private void openError(IStatus status) {
  		if (status == null) {
  			return;
  		}
  
  		String genericTitle = WorkbenchNavigatorMessages.DropAdapter_title;
  		int codes = IStatus.ERROR | IStatus.WARNING;
  
  		// simple case: one error, not a multistatus
  		if (!status.isMultiStatus()) {
  			ErrorDialog
  					.openError(getShell(), genericTitle, null, status, codes);
  			return;
  		}
  
  		// one error, single child of multistatus
  		IStatus[] children = status.getChildren();
  		if (children.length == 1) {
  			ErrorDialog.openError(getShell(), status.getMessage(), null,
  					children[0], codes);
  			return;
  		}
  		// several problems
  		ErrorDialog.openError(getShell(), genericTitle, null, status, codes);
  	}
docs: Opens an error dialog if necessary. Takes care of complex rules necessary
  for making the error dialog look nice.