code: protected StringBuilder constructAdditionalAuthParameters(Map<String, String> additionalParameters) {
          StringBuilder result = new StringBuilder();
  
          if (additionalParameters != null &&
                  !additionalParameters.isEmpty()) {
              for (Map.Entry<String, String> entry : additionalParameters.entrySet()) {
                  result.append("&")
                          .append(entry.getKey())
                          .append("=")
                          .append(entry.getValue());
              }
          }
  
          return result;
      }
docs: Provided so that subclasses can override the default behaviour. Note that the recommended method to add
  additional parameters is via {@link OAuth2ServiceProperties#setAdditionalAuthParams(java.util.Map)}.
  
  Subclasses should never return null, as this was result in "null" being appended to the redirect uri
  (see {@link StringBuilder#append(StringBuffer)}. Even if there are no additional parameters, return a
  StringBuilder.
  
  @param additionalParameters A Map of additional parameters to set.
  @return A {@link StringBuilder} containing the additional parameters, if there are any. Do not return null.