docs: public void writeUncommitted(SIMPMessage m) throws SIResourceException
    {
  
      if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
        SibTr.entry(this, tc, "writeUncommitted", new Object[] { m });
  
      TickRange tr = null;
  
      JsMessage jsMsg = m.getMessage();
     
      long stamp = jsMsg.getGuaranteedValueValueTick();
      long starts = jsMsg.getGuaranteedValueStartTick();
      long ends = jsMsg.getGuaranteedValueEndTick();
  
      if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled())
      {
        SibTr.debug(tc, "writeUncommitted at: " + stamp + " on Stream " +  stream);
      }
  
      synchronized (this)
      {      
        if (m.getStreamIsGuess())
        {
          newGuessInStream(stamp);
        }
        msgAdded(stamp);
  
        // write into stream
        tr = TickRange.newUncommittedTick(stamp);
        tr.startstamp = starts;
        tr.endstamp = ends;
      
        // Save message in the stream while it is Uncommitted
        // It will be replaced by its index in the ItemStream once it becomes a Value
        tr.value = m;
  
        oststream.writeCombinedRange(tr);
   
        // Now update our lastMsgAdded with the tick of the
        // message we have just added
        lastMsgAdded = stamp;
        
        // SIB0105
        // If this is the first uncommitted messages to be added to the stream, start off the 
        // blocked message health state timer. This will check back in the future to see if the
        // message successfully sent.
        if (blockedStreamAlarm==null)
        {
          blockedStreamAlarm = new BlockedStreamAlarm(getCompletedPrefix());
          am.create(mp.getCustomProperties().getBlockedStreamHealthCheckInterval(), blockedStreamAlarm);
        }
  
      } // end synchronized
  
      if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
        SibTr.exit(tc, "writeUncommitted");
    }