Bug 116223 [refactoring] ProcessorBasedRefactoring does not handle exceptions thrown by participants
I20051108-1011 ProcessorBasedRefactoring protects itself against participants that throw an exception in createChange(..). However, it does not catch execptions thrown in initialize(..) or in checkConditions(..). We had a case where initialize(..) threw a ClassCastException, which generated a wrong error message (participant does not extend required type). I think we should protect all call backs and disable participants that throw a RuntimeException.
org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/internal/core/refactoring/RefactoringCoreMessages.java
public static String ProcessorBasedRefactoring_final_conditions;
	public static String ProcessorBasedRefactoring_create_change;
	
	public static String ParticipantDescriptor_correct;
	public static String ParticipantDescriptor_error_id_missing;
	public static String ParticipantDescriptor_error_name_missing;
	public static String ParticipantDescriptor_error_class_missing;
	public static String ParticipantExtensionPoint_participant_removed;
	public static String ParticipantExtensionPoint_wrong_type;
	
	public static String RefactoringUndoContext_label;
	public static String Refactoring_execute_label;
	public static String Refactoring_undo_label;
	public static String Refactoring_redo_label;
	
	public static String UndoableOperation2ChangeAdapter_no_undo_available;
	public static String UndoableOperation2ChangeAdapter_no_redo_available;
	public static String UndoableOperation2ChangeAdapter_error_message;
	
	public static String UndoManager2_no_change;
	public static String RefactoringHistoryService_unknown_refactoring_description;
	public static String RefactoringHistoryService_retrieving_history;
	public static String RefactoringHistoryService_resolving_information;
	public static String RefactoringHistoryService_updating_history;
	public static String PerformRefactoringsOperation_init_error;
	public static String PerformRefactoringsOperation_perform_refactorings;
	static {
		NLS.initializeMessages(BUNDLE_NAME, RefactoringCoreMessages.class);
	}
}