private void waitForNextCheck() throws InterruptedException {
                final Instant lastCheck = LAST_UPDATE_CHECK.getValue();
                if (lastCheck == null) {
                    // This is the first time the server is used (since we added this feature)
                    Thread.sleep(30000);
                }
                else {
                    final Duration updateFrequency = UPDATE_FREQUENCY.getValue();
                    // This check is necessary just in case the thread woke up early.
                    while (lastCheck.plus(updateFrequency).isAfter(Instant.now())) {
                        Thread.sleep(Duration.between(Instant.now(), lastCheck.plus(updateFrequency)).toMillis());
                    }
                }
            }
Starts sevice that checks for new updates.
xmppserver/src/main/java/org/jivesoftware/openfire/update/UpdateManager.java