code: @Override
      public void releaseJsMessage()
      {
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
          {
              SibTr.entry(this, tc, "releaseJsMessage");
          }
  
          // We check to see if it is safe to remove a non persistent msg now. i.e. the asynchronous
          // gap between the commit add and the spilling to disk for store_maybe.
          // A best effort nonpersistent msg wil never get spilled to disk so we need to
          // check that we don't remove a reference to one.
          if (getReliability().compareTo(Reliability.BEST_EFFORT_NONPERSISTENT) > 0 && isPersistentRepresentationStable())
          {
              synchronized (this) // we don't want to take the msg away from underneath someone
              {
                  softReferenceMsg = new SoftReference<JsMessage>(msg);
                  msg = null;
              }
          }
  
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
          {
              SibTr.exit(this, tc, "releaseJsMessage");
          }
      }
docs: /*
  (non-Javadoc)
  
  @see com.ibm.ws.sib.processor.impl.interfaces.SIMPMessage#releaseJsMessage()