synchronized (ownedWindows)
synchronized (getTreeLock())
  public void show()  {    if (parent != null && !parent.isDisplayable())      parent.addNotify();    if (peer == null)      addNotify();    // Show visible owned windows.    synchronized (ownedWindows)      {	Iterator e = ownedWindows.iterator();	while(e.hasNext())	  {	    Window w = (Window)(((Reference) e.next()).get());	    if (w != null)	      {		if (w.isVisible())		  w.getPeer().setVisible(true);	      }     	    else	      // Remove null weak reference from ownedWindows.	      // Unfortunately this can't be done in the Window's	      // finalize method because there is no way to guarantee	      // synchronous access to ownedWindows there.	      e.remove();	  }      }    validate();    super.show();    toFront();  }