@SuppressWarnings("deprecation")
 private void replaceSurfaceDataRecursively(Component c) {
   if (c instanceof Container) {
     for (Component child : ((Container) c).getComponents()) {
       replaceSurfaceDataRecursively(child);
     }
   }
   ComponentPeer cp = c.getPeer();
   if (cp instanceof WComponentPeer) {
     ((WComponentPeer) cp).replaceSurfaceDataLater();
   }
 }
 public void dispatchEvent(AWTEvent e) {
   if (e instanceof ComponentEvent) {
     Component comp = ((ComponentEvent) e).getComponent();
     if (comp == awtFocussedComponent) {
       if (awtFocussedComponentPeer == null || awtFocussedComponentPeer.isDisposed()) {
         awtFocussedComponentPeer = getNearestNativePeer(comp);
       }
       if (awtFocussedComponentPeer != null) {
         handleNativeIMEEvent(awtFocussedComponentPeer, e);
       }
     }
   }
 }