code: public void requestFlushAtSource(SIBUuid8 source,
                                     SIBUuid12 destID,
                                     SIBUuid8  busID,
                                     SIBUuid12 stream,
                                     boolean indoubtDiscard)
      throws SIException, SIResourceException
    {
      if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
        SibTr.entry(this, tc, "requestFlushAtSource", new Object[] { source, stream });
  
      // Synchronize here to avoid races (not that we expect any)
      synchronized (flushMap)
      {
        if (flushMap.containsKey(stream))
        {
          // Already a request on the way so ignore.
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
            SibTr.exit(tc, "requestFlushAtSource");
          return;
        }
  
        // Ok, new entry:
        // 1. Create a request ID and flush record, store it in the map.
        // 2. Create and send an "request flush".
        // 3. Start an alarm to repeat "request flush" a set number of
        //    times.
  
        // Create and store the request record
        long             reqID = messageProcessor.nextTick();
        FlushQueryRecord entry = new FlushQueryRecord(source, destID, busID, reqID);
        flushMap.put(stream, entry);
  
        // Create and send the query
         upControl.sendRequestFlushMessage(source, destID, busID, reqID, stream, indoubtDiscard);
  
        // Start the alarm.  The context for the alarm is the stream ID,
        // which we can use to look up the FlushQueryRecord if the alarm
        // expires.
        entry.resend = am.create(GDConfig.REQUEST_FLUSH_INTERVAL, this, stream);
      }
  
      if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
        SibTr.exit(tc, "requestFlushAtSource");
    }
docs: Send a request to flush a stream.  The originator of the stream,
  and the ID for the stream must be known.  This method is public
  because it's not clear who's going to call this yet.
  
  @param source The originator of the stream (may be multiple hops
  away).
  @param stream The UUID of the stream to flush.