docs: protected synchronized final Transaction getExternalTransaction()
      {
          final String methodName = "getExternalTransaction";
          if (Tracing.isAnyTracingEnabled() && trace.isEntryEnabled())
              trace.entry(this,
                          cclass,
                          methodName);
          Transaction transaction = null; // For return.
          if (transactionReference != null)
              transaction = (Transaction) transactionReference.get();
  
          if (transaction == null) {
              transaction = new Transaction(this);
              // Make a WeakReference that becomes Enqueued as a result of the external Transaction becoming unreferenced.
              transactionReference = new TransactionReference(this,
                                                              transaction);
          } // if (transaction == null).
  
          if (Tracing.isAnyTracingEnabled() && trace.isEntryEnabled())
              trace.exit(this,
                         cclass,
                         methodName,
                         new Object[] { transaction });
          return transaction;
      }