code: private static Signer createSigner(String signerType,
              final String serviceName) {
          Class<? extends Signer> signerClass = SIGNERS.get(signerType);
          if (signerClass == null)
              throw new IllegalArgumentException("unknown signer type: " + signerType);
          Signer signer = createSigner(signerType);
  
          if (signer instanceof ServiceAwareSigner) {
              ((ServiceAwareSigner) signer).setServiceName(serviceName);
          }
          return signer;
      }
docs: Internal implementation to create a signer by type and service name,
  and configuring it with the service name if applicable.