docs: public synchronized void syncRemoveValueTick(long tick, Transaction msTran, SIMPMessage msgToDiscard) throws SIResourceException
    {
      if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
        SibTr.entry(
          tc,
          "syncRemoveValueTick",
          new Object[] { Long.valueOf(tick), msTran });
  
      AOValue value = null;
      boolean transitionToFlushed;
      TickRange r2;
      
      stream.setCursor(tick);
      TickRange r = stream.getNext();
    
      if (r.type == TickRange.Value)
      {
        value = (AOValue) r.value;
        if (value.removing)
        {
          // already being removed so do nothing
          value = null;
        }
        else
        {
          value.removing = true;
        }
      }
      
      r2 = new TickRange(TickRange.Completed, tick, tick);
      r2 = stream.writeCompleted(r2);
      if (!active)
        r2 = null;
  
      // all ticks may be completed now, so set flushed to true etc.
      transitionToFlushed = tryTransitionToFlushed();
      
      
      
      if (value != null)
      {
        dem.removeTimeoutEntry(value);
        try
        {
          if ((value.getStorageStrategy() == AbstractItem.STORE_ALWAYS)
          || (value.getStorageStrategy() == AbstractItem.STORE_EVENTUALLY))
          {
            // PK67067 We may not find a message in the store for this tick, because
            // it may have been removed using the SIBQueuePoint MBean
            if (msgToDiscard != null && msgToDiscard.isInStore())
              msgToDiscard.remove(msTran, value.getPLockId());
            value.remove(msTran, AbstractItem.NO_LOCK_ID);
          }
          else
          {
            // PK67067 We may not find a message in the store for this tick, because
            // it may have been removed using the SIBQueuePoint MBean
            if (msgToDiscard != null && msgToDiscard.isInStore()) 
              msgToDiscard.remove(msTran, msgToDiscard.getLockID());
          }
  
        }
        catch (MessageStoreException e)
        {
          // FFDC
          FFDCFilter.processException(
            e,
            "com.ibm.ws.sib.processor.impl.AOStream.syncRemoveValueTick",
            "1:2176:1.80.3.24",
            this);            
          SibTr.exception(tc, e);        
          
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
            SibTr.exit(tc, "syncRemoveValueTick", e);
          
          throw new SIResourceException(e);
        }
          
        if (r2 != null)
        {
          parent.sendCompleted(remoteMEUuid, gatheringTargetDestUuid, streamId, r2);
        }
        if (transitionToFlushed)
        {
          parent.sendFlushed(remoteMEUuid, gatheringTargetDestUuid, streamId);
        }
      }
      if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
        SibTr.exit(tc, "syncRemoveValueTick");
    }