code: public void waitForRecoveryCompletion() {
          if (tc.isEntryEnabled())
              Tr.entry(tc, "waitForRecoveryCompletion");
  
          if (!_recoveryCompleted) {
              try {
                  if (tc.isEventEnabled())
                      Tr.event(tc, "starting to wait for recovery completion");
  
                  _recoveryInProgress.waitEvent();
  
                  if (tc.isEventEnabled())
                      Tr.event(tc, "completed wait for recovery completion");
              } catch (InterruptedException exc) {
                  FFDCFilter.processException(exc, "com.ibm.tx.jta.impl.RecoveryManager.waitForRecoveryCompletion", "1242", this);
                  if (tc.isEventEnabled())
                      Tr.event(tc, "Wait for recovery complete interrupted.");
              }
          }
  
          if (tc.isEntryEnabled())
              Tr.exit(tc, "waitForRecoveryCompletion");
      }
docs: Blocks the current thread until initial recovery has completed.