docs: private Map<String, List<String>> groupPrincipalByScheme(
              List<Principal> principals) {
          Map<String, List<String>> principalsByScheme = new LinkedHashMap<String, List<String>>();
  
          String provider;
          List<String> principalValues;
          for (Principal principal : principals) {
              provider = principal.getProvider();
              if (!principalsByScheme.containsKey(provider)) {
                  principalsByScheme.put(provider, new ArrayList<String>());
              }
              principalValues = principalsByScheme.get(provider);
              principalValues.add(principal.getId());
          }
  
          return principalsByScheme;
      }