docs: private void checkInquireAuthority(DestinationHandler destination,
                                         String destinationName,
                                         String busName,
                                         SecurityContext secContext,
                                         boolean temporary)
                      throws SINotAuthorizedException
      {
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
              SibTr.entry(
                          tc,
                          "checkInquireAuthority",
                          new Object[] { destination,
                                        destinationName,
                                        busName,
                                        secContext,
                                        Boolean.valueOf(temporary) });
  
          // Check authority to inquire on the destination
  
          if (!temporary) // Non-temorary destination access check
          {
              if (!destination.checkDestinationAccess(secContext,
                                                      OperationType.INQUIRE))
              {
                  if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
                      SibTr.exit(tc, "checkInquireAuthority", "not authorized to inquire on this destination");
  
                  // Get the username
                  String userName = secContext.getUserName(true);
  
                  //Messaging varies dependent on bus versus destination access check
                  String nlsMessage;
                  if (destinationName != null)
                  {
                      // Build the message for the Exception and the Notification
                      nlsMessage =
                                      nls.getFormattedMessage("USER_NOT_AUTH_INQUIRE_ERROR_CWSIP0314",
                                                              new Object[] { destinationName,
                                                                            userName },
                                                              null);
  
                      // Fire a Notification if Eventing is enabled
                      _accessChecker.
                                      fireDestinationAccessNotAuthorizedEvent(destinationName,
                                                                              userName,
                                                                              OperationType.INQUIRE,
                                                                              nlsMessage);
                  }
                  else // foreign bus access
                  {
                      // Build the message for the Exception and the Notification
                      nlsMessage =
                                      nls.getFormattedMessage("USER_NOT_AUTH_INQUIRE_FB_ERROR_CWSIP0315",
                                                              new Object[] { busName,
                                                                            userName },
                                                              null);
  
                      // Fire a Notification if Eventing is enabled
                      _accessChecker.
                                      fireDestinationAccessNotAuthorizedEvent(busName,
                                                                              userName,
                                                                              OperationType.INQUIRE,
                                                                              nlsMessage);
                  }
  
                  // Thrown if user denied access to destination
                  throw new SINotAuthorizedException(nlsMessage);
              }
          }
          else // Check authority to inquire on temp topic
          {
              // get the temp prefix from the destination name
              String destinationPrefix = SIMPUtils.parseTempPrefix(destinationName);
              if (!_accessChecker.checkTemporaryDestinationAccess(secContext,
                                                                  destinationName, // name of destination
                                                                  (destinationPrefix == null) ? "" : destinationPrefix, // sib.security wants empty string if prefix is null
                                                                  OperationType.INQUIRE))
              {
                  if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
                      SibTr.exit(tc, "checkInquireAuthority", "not authorized to inquire on temporary destination");
  
                  // Get the username
                  String userName = secContext.getUserName(true);
                  // Build the message for the Exception and the Notification
                  String nlsMessage =
                                  nls.getFormattedMessage("USER_NOT_AUTH_INQUIRE_ERROR_CWSIP0314",
                                                          new Object[] { destinationPrefix,
                                                                        userName },
                                                          null);
  
                  // Fire a Notification if Eventing is enabled
                  _accessChecker.
                                  fireDestinationAccessNotAuthorizedEvent(destinationPrefix,
                                                                          userName,
                                                                          OperationType.INQUIRE,
                                                                          nlsMessage);
  
                  // Thrown if user denied access to destination
                  throw new SINotAuthorizedException(nlsMessage);
              }
          }
  
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
              SibTr.exit(tc, "checkInquireAuthority");
      }