public void assertIsDispatchThread(@Nullable final JComponent component) { if (component == null) return; Thread curThread = Thread.currentThread(); if (ourDispatchThread == curThread) { return; } if (Boolean.TRUE.equals(component.getClientProperty(WAS_EVER_SHOWN))) { assertIsDispatchThread(); } else { final JRootPane root = component.getRootPane(); if (root != null) { component.putClientProperty(WAS_EVER_SHOWN, Boolean.TRUE); assertIsDispatchThread(); } } }
private void _addRequest( @NotNull Runnable request, long delayMillis, ModalityState modalityState) { synchronized (LOCK) { LOG.assertTrue(!myDisposed, "Already disposed"); final Request requestToSchedule = new Request(request, modalityState, delayMillis); if (myActivationComponent == null || myActivationComponent.isShowing()) { _add(requestToSchedule); } else { if (!myPendingRequests.contains(requestToSchedule)) { myPendingRequests.add(requestToSchedule); } } } }