code: public String getSignedHeadersString(Map<String, String> headers) {
          List<String> sortedList = new ArrayList<>(headers.keySet());
          Collections.sort(sortedList, String.CASE_INSENSITIVE_ORDER);
  
          StringBuilder signedHeaderString = new StringBuilder();
          for (String header : sortedList) {
              if (signedHeaderString.length() > START_INDEX) {
                  signedHeaderString.append(SEMICOLON);
              }
              signedHeaderString.append(nullToEmpty(header).toLowerCase());
          }
          return signedHeaderString.toString();
      }
docs: Creates a comma separated list of headers.
  
  @param headers Headers to be signed.
  @return Comma separated list of headers to be signed.