if (participants == null) return;
final ReconcileContext context = new ReconcileContext(this, workingCopy);
for (int i = 0, length = participants.length; i < length; i++) {
final CompilationParticipant participant = participants[i];
SafeRunner.run(new ISafeRunnable() {
public void handleException(Throwable exception) {
if (exception instanceof Error) {
throw (Error) exception; // errors are not supposed to be caught
} else if (exception instanceof OperationCanceledException)
throw (OperationCanceledException) exception;