/** * 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--; }