package org.lamport.tla.toolbox.tool;

/**
 * A superclass for Spec Lifecycle Participant implementations used for 
 * registration on the <code>org.lamport.tla.toolbox.spec</code> extension point.<br />
 * This class should be overridden by the extensions.<br>
 * The overrides must provide an 0-argument constructor.
 * 
 * @see {@link SpecEvent}
 * @author Simon Zambrovski
 * @version $Id$
 */
public abstract class SpecLifecycleParticipant
{
    /**
     * Marks the point in time from which on, the participant starts to receive events
     */
    public void initialize()
    {
    }

    /**
     * Is called on every spec event
     * @param event the event containing the information about what is happening
     * @return a boolean value indicating the reaction of the participant to the event. 
     * Reserved for future use.
     */
    public abstract boolean eventOccured(SpecEvent event);

    /**
     * Marks the point in time from which on, the participant stops to receive events
     */
    public void terminate()
    {
    }
}

@@ -615,20 +615,17 @@
    /**%0D%0A
-    
+%09
  * Is ca
@@ -652,29 +652,154 @@
 vent
-%0D%0A     * @param event
+. The event can either come from a backend%0D%0A%09 * thread or the UI thread. There is no guarantee whatsoever.%0D%0A%09 * %0D%0A%09 * @param event%0D%0A%09 *           
  the
@@ -857,20 +857,17 @@
 pening%0D%0A
-    
+%09
  * @retu
@@ -938,24 +938,28 @@
  the
- event. %0D%0A     *
+%0D%0A%09 *         event.
  Res
@@ -981,20 +981,17 @@
 e use.%0D%0A
-    
+%09
  */%0D%0A   

Clarify that participants (listener) will be called from any thread. There is no guarantee that the invocation originates from within the UI thread.