private void doUpdateTargetWindow(long subwindow, long time) { long clientWindow = 0; long proxyWindow = 0; XDragSourceProtocol protocol = null; boolean isReceiver = false; if (subwindow != 0) { clientWindow = findClientWindow(subwindow); } if (clientWindow != 0) { Iterator dragProtocols = XDragAndDropProtocols.getDragSourceProtocols(); while (dragProtocols.hasNext()) { XDragSourceProtocol dragProtocol = (XDragSourceProtocol) dragProtocols.next(); if (dragProtocol.attachTargetWindow(clientWindow, time)) { protocol = dragProtocol; break; } } } /* Update the global state. */ dragProtocol = protocol; targetAction = DnDConstants.ACTION_NONE; targetRootSubwindow = subwindow; }