code: public String getSignature(Request request, ClientCredential credential)
              throws RequestSigningException {
          return getSignature(request, credential, System.currentTimeMillis(), generateNonce());
      }
docs: Generates signature for a given HTTP request and client credential. The result of this method
  call should be appended as the "Authorization" header to an HTTP request.
  
  @param request a HTTP request to sign
  @param credential client credential used to sign a request
  @return signature for Authorization HTTP header
  @throws RequestSigningException if signing of a given request failed
  @throws NullPointerException if {@code request} or {@code credential} is {@code null}
  @throws IllegalArgumentException if request contains multiple request headers with the same
  header name