docs: public void restoreValue(SIMPMessage m) throws SIResourceException
    {
      if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
        SibTr.entry(this, tc, "restoreValue", m);
  
      TickRange tr = null;
        
      long msgStoreId = AbstractItem.NO_ID;
      try
      {
        if (m.isInStore())
          msgStoreId = m.getID();
      }
      catch(MessageStoreException e)
      {
        // FFDC
        FFDCFilter.processException(
            e,
            "com.ibm.ws.sib.processor.gd.SourceStream.restoreValue",
            "1:1484:1.138",
            this);  
                    
        SibTr.exception(tc, e); 
        
        if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
          SibTr.exit(tc, "restoreValue", e);
        
        throw new SIResourceException(e);
      }
      
        
      JsMessage jsMsg = m.getMessage();
  
      long stamp = jsMsg.getGuaranteedValueValueTick();
      long starts = jsMsg.getGuaranteedValueStartTick();
      long ends = jsMsg.getGuaranteedValueEndTick();
  
      if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled())
      {
        SibTr.debug(tc, "restoreValue at: " + stamp + " with Silence from: " + starts + " to " + ends + " on Stream " +  stream);
      }
  
      synchronized (this)
      {
        // Now update Value tick to indicate it is now committed
        tr = TickRange.newValueTick(stamp, null, msgStoreId);
        tr.startstamp = starts;
        tr.endstamp = ends;
  
        oststream.writeCombinedRange(tr);
      } 
  
      if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
        SibTr.exit(tc, "restoreValue");
   
    }