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/core/refactoring/participants/ProcessorBasedRefactoring.java
}
		}
		protected boolean internalContinueOnCancel() {
			return true;
		}
		protected boolean internalProcessOnCancel(Change change) {
			RefactoringParticipant participant= (RefactoringParticipant)fParticipantMap.get(change);
			if (participant == null)
				return false;
			return participant.getDescriptor().processOnCancel();
		}
	}
	
	/**
	 * Creates a new processor based refactoring.
	 * 
	 * @deprecated use {@link #ProcessorBasedRefactoring(RefactoringProcessor)} instead
	 */
	protected ProcessorBasedRefactoring() {
	}
	
	/**
	 * Creates a new processor based refactoring.
	 * 
	 * @param processor the refactoring's main processor
	 *
	 * @since 3.1
	 */
	protected ProcessorBasedRefactoring(RefactoringProcessor processor) {
		processor.setRefactoring(this);