docs: @SuppressWarnings("unchecked")
      protected List<String> mergeRoles(List<String> otherRoles, boolean mergedAccessPrecluded) {
          if (mergedAccessPrecluded == true || roles.isEmpty() || otherRoles.isEmpty()) {
              return Collections.EMPTY_LIST;
          }
          Set<String> tempRoles = new HashSet<String>();
          tempRoles.addAll(otherRoles);
          tempRoles.addAll(roles);
          List<String> mergedRoles = new ArrayList<String>();
          mergedRoles.addAll(tempRoles);
          return mergedRoles;
      }