code: public final void commitPersistLock(PersistentTransaction transaction) throws SevereMessageStoreException
      {
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
              SibTr.entry(this, tc, "commitPersistLock", transaction);
  
          AbstractItem item = null;
          boolean hasBecomePersistentlyLocked = false;
          boolean linkHasBecomeReleasable = false;
          synchronized (this)
          {
              if (ItemLinkState.STATE_PERSISTING_LOCK == _itemLinkState)
              {
                  _assertCorrectTransaction(transaction);
                  item = _getAndAssertItem();
                  final int strategy = _tuple.getStorageStrategy();
                  if ((AbstractItem.STORE_NEVER != strategy) &&
                      (AbstractItem.STORE_MAYBE != strategy))
                  { // 272110 - added STORE_MAYBE to ease handling of corrupt persistent representation
                    // storable items can be discarded if in persistentLocked state
                      linkHasBecomeReleasable = _declareDiscardable();
                  }
                  _itemLinkState = ItemLinkState.STATE_PERSISTENTLY_LOCKED;
                  hasBecomePersistentlyLocked = true;
              }
              else
              {
                  if (TraceComponent.isAnyTracingEnabled() && tc.isEventEnabled())
                      SibTr.event(this, tc, "Invalid Item state: " + _itemLinkState);
                  if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
                      SibTr.exit(this, tc, "commitPersistLock");
                  throw new StateException(_itemLinkState.toString());
              }
              _transactionId = null;
          }
          if (hasBecomePersistentlyLocked)
          {
              if (linkHasBecomeReleasable)
              {
                  _declareReleasable(item);
              }
          }
  
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
              SibTr.exit(this, tc, "commitPersistLock");
      }
docs: /*
  (non-Javadoc)
  
  @see com.ibm.ws.sib.msgstore.task.TaskTarget#commitPersistLock(com.ibm.ws.sib.msgstore.transactions.Transaction)