eq.postEvent(ie);
  public static void invokeAndWait(Runnable runnable)    throws InterruptedException, InvocationTargetException  {    // FIXME: Is this an appropriate way to access the event queue?    EventQueue eq = Toolkit.systemEventQueue;     Thread current = Thread.currentThread();    if (current == eq.dispatchThread)      throw new Error("Can't call invokeAndWait from event dispatch thread");      InvocationEvent ie =       new InvocationEvent(eq, runnable, current, true);        eq.postEvent(ie);        synchronized (current)      {	current.wait();      }    Exception exception;        if ((exception = ie.getException()) != null)      throw new InvocationTargetException(exception);  }