code: protected static void internalAlarmHandler(Object arg)
    {
      if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) SibTr.entry(tc, "internalAlarmHandler", arg);
      
      ResendRecord record = (ResendRecord) arg;
      
      synchronized (_requestMap)
      {
        Long key = new Long(record.requestID);
        
        if (_requestMap.containsKey(key))
        {
          // Someone still waiting for the request, figure out what to do about it
          if (record.triesRemaining != 0)
          {
            // We have tries remaining so resend
            
            // Short circuit if ME unreachable
            if (!record.MP.getMPIO().isMEReachable(record.targetUuid))
              wakeupWaiter(record.requestID, null);
              
            record.MP.getMPIO().sendToMe(record.targetUuid, SIMPConstants.CONTROL_MESSAGE_PRIORITY, record.msg);
            // 219870: use triesRemaining < 0 to try forever
            if (record.triesRemaining > 0)
              record.triesRemaining--;
            record.MP.getAlarmManager().create(record.resendInterval, _alarmHandler, record);
          }
          else
          {
            // Wakeup the waiter with a timeout error
            wakeupWaiter(record.requestID, null);
          }
        }
      }
      
      if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) SibTr.exit(tc, "internalAlarmHandler");
    }
docs: Process a retry alarm.
  
  @param arg This should be an instance of ResendRecord indicating
  how we should retry the request.