code: public static void afterCompletion(TransactionImpl tran, int status, int syncLevel) {
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
              Tr.entry(tc, "afterCompletion", new Object[] { tran, status, syncLevel });
  
          if (syncLevel >= 0) {
              final ArrayList syncs = _syncLevels.get(syncLevel);
  
              if (syncs != null) {
                  if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled())
                      Tr.debug(tc, "syncs.length=" + syncs.size());
  
                  final int localID = (int) tran.getLocalTID();
                  final byte[] globalID = tran.getTID();
                  // d281425 - status maybe committed, unknown or rolledback
                  final boolean committed = !(status == Status.STATUS_ROLLEDBACK); // @281425C
                  final int numSyncs = syncs.size();
  
                  for (int s = 0; s < numSyncs; s++) {
                      try {
                          ((SynchronizationCallback) syncs.get(s)).afterCompletion(localID, globalID, committed);
                      } catch (Throwable t) {
                          // No FFDC needed
                          Tr.error(tc, "WTRN0074_SYNCHRONIZATION_EXCEPTION", new Object[] { "afterCompletion", syncs.get(s), t });
                          // absorb and allow other afterCompletions to run.
                      }
                  }
              } else if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled())
                  Tr.debug(tc, "syncs is null");
          }
  
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
              Tr.exit(tc, "afterCompletion");
      }
docs: Notify all the registered syncs of the end
  of the completion phase of the given
  transaction. The completion resulted in the
  transaction having the given status.