/**
  * Trigger an underlying close operation. This may happen before returning or be deferred if the
  * stack is past a depth threshold.
  *
  * @param pump underlying operation
  */
 public void close(final ResolutionPump pump) {
   s_logger.debug("Closing {}", pump);
   if (++_stackDepth > MAX_CALLBACK_DEPTH) {
     submit(new ResolutionPump.Close(pump));
   } else {
     pump.close(this);
   }
   _stackDepth--;
 }
 /**
  * Trigger an underlying pump operation. This may happen before returning or be deferred if the
  * stack is past a depth threshold.
  *
  * @param pump underlying operation
  */
 public void pump(final ResolutionPump pump) {
   s_logger.debug("Pumping {}", pump);
   if (++_stackDepth > MAX_CALLBACK_DEPTH) {
     submit(new ResolutionPump.Pump(pump));
   } else {
     pump.pump(this);
   }
   _stackDepth--;
 }