I took a look at this file and found a couple of points that I’m not sure about
(unrelated to the RFR):
<ul>
<li> <a
href="../EventQueue.html#isDispatchThread()"><code>EventQueue.isDispatchThread</code></a>
returns <code>true</code> if and only if the calling thread is the
event dispatch thread started by the machinery;
The statement that events are dispatched on a thread started by AWT (the
machinery) seems to
be overly constraining the implementation.
<li> <code>AWTEvents</code> which were actually enqueued to a
particular <code>EventQueue</code> (note that events being
posted to the <code>EventQueue</code> can be coalesced) are
dispatched:
<ul>
<li>
<dl><dt>Sequentially.
<dd> That is, it is not permitted that several events from
this queue are dispatched simultaneously. </dd></dl>
<li>
<dl><dt>In the same order as they are enqueued.
<dd> That is, if <code>AWTEvent</code> A is enqueued
to the <code>EventQueue</code> before
<code>AWTEvent</code> B then event B will not be
dispatched before event A.</dd></dl>
</ul>
I have trouble reconciling this statement of ordering with the implementation
that has multiple
priority levels. The only reason to have priority levels to to alter the
ordering.