docs: private void populateDestinationPermissions() {
          SibTr.entry(tc, CLASS_NAME + "populateDestinationPermissions", properties);
  
          pids.clear();
          String[] roles = (String[]) properties
                          .get(MessagingSecurityConstants.ROLE);
          initializeMaps();
          if (roles != null) {
              checkIfRolesAreUnique(roles);
              for (String role : roles) {
                  Dictionary<String, Object> roleProperties = getDictionaryObject(role);
                  Set<String> users = null;
                  Set<String> groups = null;
                  // Get the list of Users
                  users = createUserOrGroupSet(roleProperties,
                                               MessagingSecurityConstants.USER);
                  // Get the list of Groups
                  groups = createUserOrGroupSet(roleProperties,
                                                MessagingSecurityConstants.GROUP);
                  if (roleProperties != null) {
                      populateQueuePermissions(roleProperties, users, groups);
                      populateTemporarayDestinationPermissions(roleProperties, users, groups);
                      populateTopicPermissions(roleProperties, users, groups);
                  }
              }
          }
          if (tc.isDebugEnabled()) {
              SibTr.debug(tc, CLASS_NAME + " ***** Queue Permissions *****");
              printDestinationPermissions(queuePermissions);
              SibTr.debug(tc, CLASS_NAME + " ***** Topic Permissions *****");
              printDestinationPermissions(topicPermissions);
              SibTr.debug(tc, CLASS_NAME + " ***** Temporary DestinationPermissions *****");
              printDestinationPermissions(temporaryDestinationPermissions);
          }
  
          SibTr.exit(tc, CLASS_NAME + "populateDestinationPermissions");
      }