code: public void writeSilenceForced(TickRange vtr)
      {
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
              SibTr.entry(tc, "writeSilenceForced", new Object[] { vtr });
  
          long start = vtr.startstamp;
          long end = vtr.endstamp;
  
          if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled())
          {
              SibTr.debug(tc, "writeSilenceForced from: " + start + " to " + end + " on Stream " + streamID);
          }
  
          TickRange tr =
                          new TickRange(
                                          TickRange.Completed,
                                          start,
                                          end);
  
          synchronized (this)
          {
              tr = oststream.writeCompletedRangeForced(tr);
              try
              {
                  if (tr.startstamp == 0)
                  {
                      //we are completed up to this point so we can
                      //simulate receiving an ack. This will enable the 
                      //src stream to remove the msg from the store if it is no longer
                      //needed
                      writeAckPrefix(tr.endstamp);
                  }
              } catch (SIResourceException e)
              {
                  FFDCFilter.processException(
                                              e,
                                              "com.ibm.ws.sib.processor.gd.InternalOutputStream.writeSilenceForced",
                                              "1:1273:1.83.1.1",
                                              this);
              }
          }
  
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
              SibTr.exit(tc, "writeSilenceForced");
  
      }
docs: This method uses a Value TickRange to write Silence into the stream,
  because a message has expired before it was sent and so needs to be removed
  from the stream
  It forces the stream to be updated to Silence without checking the
  existing state
  It then updates the upstream control with this new completed prefix
  
  @param m The value tickRange