docs: public synchronized void logRecoveryEntry() throws Exception
      {
          if (tc.isEntryEnabled()) Tr.entry(tc, "logRecoveryEntry", this);
  
          if (!_loggedToDisk)
          {
              if (_terminating) // d172471
              {
                  Tr.warning(tc, "WTRN0084_RESOURCE_ENDING");
                  if (tc.isEntryEnabled()) Tr.exit(tc, "logRecoveryEntry", "Terminating");
                  throw new IllegalStateException();
              }
  
              if (_serializedLogData == null)
              {
                  Tr.warning(tc, "WTRN0039_SERIALIZE_FAILED");
                  if (tc.isEntryEnabled()) Tr.exit(tc, "logRecoveryEntry", "NotSerializable");
                  throw new NotSerializableException("XAResource recovery information not serializable");
              }
  
              try
              {
                  // Perform any pre-log data check (only used for XARecoveryData)
                  preLogData();
  
                  // Now write the partner log record
                  logData(_sectionId);
              }
              catch (Exception e)
              {
                  FFDCFilter.processException(e, "com.ibm.ws.Transaction.JTA.XARecoveryData.logRecoveryEntry", "284", this);
                  if (tc.isEntryEnabled()) Tr.exit(tc, "logRecoveryEntry", e);
                  throw e;
              }
          }
  
          if (tc.isEntryEnabled()) Tr.exit(tc, "logRecoveryEntry");
      }