docs: @Override
      public int checkPtoPOutputHandlers(SIBUuid8 fixedMEUuid,
                                         HashSet<SIBUuid8> scopedMEs)
      {
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
              SibTr.entry(tc, "checkPtoPOutputHandlers",
                          new Object[] { this,
                                        fixedMEUuid,
                                        scopedMEs });
  
          int result = DestinationHandler.OUTPUT_HANDLER_SEND_ALLOWED_FALSE;
  
          // First make sure the destination is sendAllowed
          if (isSendAllowed())
          {
              result = DestinationHandler.OUTPUT_HANDLER_NOT_FOUND;
              int localResult = DestinationHandler.NOT_SET;
  
              // If we have a suitable local message point 
              // then we can only check it if any ME restictions include this local ME.
              boolean checkLocal = false;
              if (hasLocal())
              {
                  if ((fixedMEUuid == null) && (scopedMEs == null))
                      checkLocal = true;
                  else if ((fixedMEUuid != null) && fixedMEUuid.equals(getMessageProcessor().getMessagingEngineUuid()))
                      checkLocal = true;
                  else if ((scopedMEs != null) && scopedMEs.contains(getMessageProcessor().getMessagingEngineUuid()))
                      checkLocal = true;
  
                  if (checkLocal)
                  {
                      // Check that it is SendAllowed true and not at high limit
                      localResult = _ptoPRealization.checkAbleToSend();
  
                  }
              }
  
              // If we don't have a suitable local QP then check all qualifying output handlers
              // (potentially fixed/scoped) for availability
              if ((!_singleServer || isLink()) &&
                  (localResult != DestinationHandler.OUTPUT_HANDLER_FOUND) &&
                  !(checkLocal && (fixedMEUuid != null))) // Don't bother checking for a remote one if we're fixed to the local one
                  result = getLocalisationManager().checkRemoteMessagePointOutputHandlers(fixedMEUuid, scopedMEs);
  
              // If we still failed to find anything suitable remote from us then we use any
              // local result we have to try to better it
              if ((result == DestinationHandler.OUTPUT_HANDLER_NOT_FOUND) &&
                  (localResult != DestinationHandler.NOT_SET))
                  result = localResult;
          }
  
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
              SibTr.exit(tc, "checkPtoPOutputHandlers", Integer.valueOf(result));
          return result;
      }