docs: public String createAuthorizationHeaderString(Map<String, String> parameters) {
          StringBuilder authzHeaderString = new StringBuilder();
          // Step 1: Append "OAuth "
          authzHeaderString.append("OAuth ");
  
          if (parameters == null) {
              return authzHeaderString.toString();
          }
  
          // Sort parameter names alphabetically
          List<String> sortedKeys = new ArrayList<String>();
          sortedKeys.addAll(parameters.keySet());
          Collections.sort(sortedKeys);
  
          // Determines whether a param was already added to the string, and therefore whether to prepend ", " to delineate the params
          boolean isParamAlreadyPresent = false;
  
          for (String key : sortedKeys) {
  
              // Step 2: Go through each of the seven expected parameters
              if (!TwitterConstants.AUTHZ_HEADER_PARAMS.contains(key)) {
                  if (tc.isDebugEnabled()) {
                      Tr.debug(tc, "Skipping unexpected parameter: " + key);
                  }
                  continue;
              }
  
              if (isParamAlreadyPresent) {
                  // Step 2f: Another non-ignored parameter was previously appended, so append ", " to the output string
                  authzHeaderString.append(", ");
              }
  
              // Steps 2a-2e
              String value = parameters.get(key);
              String encodedKey = Utils.percentEncode(key);
              String encodedValue = Utils.percentEncode(value);
              authzHeaderString.append(encodedKey).append("=\"").append(encodedValue).append("\"");
  
              isParamAlreadyPresent = true;
          }
          return authzHeaderString.toString();
      }