docs: protected void updateWatermarks(long currentDepth)
      {
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
              SibTr.entry(tc, "updateWatermarks", new Long(currentDepth));
  
          boolean setWatermarks = false;
          _nextHighWatermark = _nextUpDepthInterval;
          _nextLowWatermark = _nextDownDepthInterval;
  
          if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled())
              SibTr.debug(tc, "_destMsgInterval: " + _destMsgInterval +
                              " _destHighMsgs: " + _destHighMsgs +
                              " _destLowMsgs: " + _destLowMsgs +
                              " _nextUpDepthInterval: " + _nextUpDepthInterval +
                              " _nextDownDepthInterval: " + _nextDownDepthInterval);
  
          if (_destMsgInterval > 0)
              setWatermarks = true;
  
          if (isThresholdNotificationRequired())
          {
              setWatermarks = true;
  
              // If message depth interval reporting is enabled, work out from the
              // current depth what are the next interesting watermarks to breach
              // (an interval threshold or a high/low limit?)
              if (_destMsgInterval > 0)
              {
                  if ((_nextHighWatermark > _destHighMsgs) &&
                      (currentDepth < _destHighMsgs))
                      _nextHighWatermark = _destHighMsgs;
  
                  if ((_nextLowWatermark < _destLowMsgs) &&
                      (currentDepth > _destLowMsgs))
                      _nextLowWatermark = _destLowMsgs;
              }
              else
              {
                  // If we're not reporting depth intervals we'll reset the watermarks to the
                  // destination's high and low values.
                  _nextHighWatermark = _destHighMsgs;
                  _nextLowWatermark = _destLowMsgs;
              }
          }
  
          if (setWatermarks)
          {
              setWatermarks(_nextLowWatermark, _nextHighWatermark);
          }
  
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
              SibTr.exit(tc, "updateWatermarks",
                         new Object[] { new Long(_nextLowWatermark), new Long(_nextHighWatermark) });
      }