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/ParticipantExtensionPoint.java
private String fName;
		
	private String fParticipantID;
	private List fParticipants;
	private Class fParticipantClass;
	
	
	/*
	private static final boolean EXIST_TRACING;
	static {
		String value= Platform.getDebugOption("org.eclipse.jdt.ui/processor/existTracing"); 
		EXIST_TRACING= value != null && value.equalsIgnoreCase("true"); 
	}
	
	private void printTime(long start) {
		System.out.println("[" + fName +  
			" extension manager] - existing test: " +  
			(System.currentTimeMillis() - start) + " ms"); 
	}
	*/
	
	public ParticipantExtensionPoint(String name, String participantId, Class clazz) {
		Assert.isNotNull(name);
		Assert.isNotNull(participantId);
		Assert.isNotNull(clazz);
		fName= name;
		fParticipantID= participantId;
		fParticipantClass= clazz;
	}