docs: public void forceFlushAtSource(SIBUuid8 remoteUuid, SIBUuid12 gatheringTargetDestUuid)
    {
      if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
        SibTr.entry(tc, "forceFlushAtSource", new Object[] {remoteUuid, gatheringTargetDestUuid});
  
      StreamInfo sinfo;
      boolean success = false;
      String key = 
        SIMPUtils.getRemoteGetKey(remoteUuid, gatheringTargetDestUuid);
      synchronized (streamTable)
      {
        sinfo = streamTable.get(key);
      }
      if (sinfo == null)
      { // need to do nothing as a stream for this RME does not exist
        success = true;
      }
      else if (sinfo.stream == null)
      {
        // stream for this RME is being created, which means that the RME just sent a request
        // to create a stream. How are we claiming that this RME has been deleted?
        // We should throw some sort of Exception.
        SIErrorException e =
          new SIErrorException(
            nls.getFormattedMessage(
              "INTERNAL_MESSAGING_ERROR_CWSIP0001",
              new Object[] {
                "com.ibm.ws.sib.processor.impl.AnycastOutputHandler",
                "1:3159:1.89.4.1" },
              null));
  
        FFDCFilter.processException(
          e,
          "com.ibm.ws.sib.processor.impl.AnycastOutputHandler.forceFlushAtSource",
          "1:3165:1.89.4.1",
          this);
        SibTr.exception(tc, e);
        SibTr.error(tc, "INTERNAL_MESSAGING_ERROR_CWSIP0001",
          new Object[] {
            "com.ibm.ws.sib.processor.impl.AnycastOutputHandler",
            "1:3171:1.89.4.1" });
  
        if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
          SibTr.exit(tc, "forceFlushAtSource");
        throw e;
      }
      else
      {
        try
        {
          AOStream stream = sinfo.stream;
          // first close() the stream.
          stream.close();
          // We are now guaranteed that all asynchronous writed to the Message Store initiated by that stream are done.
  
          // Now get all the value ticks from the itemStream
          ArrayList<AOValue> valueTicks = new ArrayList<AOValue>();
          NonLockingCursor cursor = sinfo.itemStream.newNonLockingItemCursor(null);
          AOValue tick;
          while ((tick = (AOValue) cursor.next()) != null)
          {
            valueTicks.add(tick);
          }
          cursor.finished();
          // now delete them and the item stream etc.
          deleteAndUnlockPersistentStream(sinfo, valueTicks);
  
          // now remove from the streamTable
          synchronized (streamTable)
          {
            streamTable.remove(key);
          }
  
          success = true;
        }
        catch (Exception e)
        {
          FFDCFilter.processException(
            e,
            "com.ibm.ws.sib.processor.impl.AnycastOutputHandler.forceFlushAtSource",
            "1:3211:1.89.4.1",
            this);
          SibTr.exception(tc, e);
          SibTr.error(tc, "INTERNAL_MESSAGING_ERROR_CWSIP0001",
            new Object[] {
              "com.ibm.ws.sib.processor.impl.AnycastOutputHandler",
              "1:3217:1.89.4.1" });
  
          // we should throw an exception
          SIErrorException e2 =
            new SIErrorException(
              nls.getFormattedMessage(
                "INTERNAL_MESSAGING_ERROR_CWSIP0001",
                new Object[] {
                  "com.ibm.ws.sib.processor.impl.AnycastOutputHandler",
                  "1:3226:1.89.4.1"},
                null));
  
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
            SibTr.exit(tc, "forceFlushAtSource");
          throw e2;
  
        }
      } // end else
  
      if (success)
      {
        // Log message to console saying we have finished flush at anycast DME for this destination and RME
        SibTr.info(
          tc,
          "FLUSH_COMPLETE_CWSIP0452",
          new Object[] {destName,
                        mp.getMessagingEngineName(),
                        key});
      }
      if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
        SibTr.exit(tc, "forceFlushAtSource");
    }