void () { ApplicationManager.getApplication().assertIsNonDispatchThread(); MemoryAgentProgressPoint progressPoint = myAgent.checkProgress(); if (progressPoint == null) { return; } ApplicationManager.getApplication().invokeLater(() -> { try { myProgressIndicatorLock.lock(); if (myProgressIndicator.isRunning()) { myProgressIndicator.setText(progressPoint.getMessage()); myProgressIndicator.setFraction(progressPoint.getFraction()); } } finally { myProgressIndicatorLock.unlock(); } }); if (progressPoint.isFinished()) { stopMonitoringProgress(); } }