code: private long processNackWithReturnValue(ControlNack nackMsg)
                      throws SIResourceException
      {
          // This is called by a PubSubOutputHandler when it finds Unknown
          // ticks in it's own stream and need the InputStream to resend them
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
              SibTr.entry(tc, "processNackWithReturnValue", nackMsg);
  
          long returnValue = -1;
  
          // The upstream cellule for this stream is stored in the originStreamMap
          // unless we were the originator.
          SIBUuid12 stream = nackMsg.getGuaranteedStreamUUID();
  
          if (_sourceStreamManager.hasStream(stream))
          {
              // 242139: Currently we get back to here for every processNack
              // that the InternalOutputStream handles. This is an error but
              // a harmles one. For now the fix is to avoid throwing an exception 
              // as the InternalOutputstream has in fact satisfied the Nack correctly.  
              // The longer term fix is to writeCombined range into the IOS not just the
              // value
  
              if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled())
                  SibTr.debug(tc, "Ignoring processNack on sourceStream at PubSubInputHandler");
  
              returnValue = _sourceStreamManager.getStreamSet().getStream(nackMsg.getPriority(), nackMsg.getReliability()).getCompletedPrefix();
          }
          else
          {
              // Else we are an IME
              //  send nacks if necessary
              _internalInputStreamManager.processNack(nackMsg);
          }
  
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
              SibTr.exit(tc, "processNackWithReturnValue", new Long(returnValue));
  
          return returnValue;
  
      }
docs: Process a nack from a PubSubOutputHandler.
  
  @param nack The nack message from one of our PubSubOutputHandlers.