import java.util.EventListener;
/**
- * Class representing a {@link Registration} of an {@link EventListener}. This
- * is interface provides the additional guarantee that the process of
- * unregistration cannot fail for predictable reasons.
+ * Class representing a {@link Registration} of an {@link EventListener}. This interface provides the additional
+ * guarantee that the process of unregistration cannot fail for predictable reasons.
+ *
+ * @param <T> Type of registered listener
*/
public interface ListenerRegistration<T extends EventListener> extends ObjectRegistration<T> {
/**
- * Unregister the listener. No events should be delivered to the listener
- * once this method returns successfully. While the interface contract
- * allows an implementation to ignore the occurence of RuntimeExceptions,
- * implementations are strongly encouraged to deal with such exceptions
- * internally and to ensure invocations of this method do not fail in such
- * circumstances.
+ * Unregister the listener. Note that invocations enqueued to the listener are not subject to synchronization
+ * rules, and events may be delivered to the listener after this method completes.
+ *
+ * <p>
+ * While the interface contract allows an implementation to ignore the occurrence of RuntimeExceptions,
+ * implementations are strongly encouraged to deal with such exceptions internally and to ensure invocations of
+ * this method do not fail in such circumstances.
*/
@Override
void close();