code: @SdkProtectedApi
      public static Signer createSigner(String signerType, SignerParams params) {
          Signer signer = createSigner(signerType);
  
          if (signer instanceof ServiceAwareSigner) {
              ((ServiceAwareSigner) signer).setServiceName(params.getServiceName());
          }
  
          if (signer instanceof RegionAwareSigner) {
              ((RegionAwareSigner) signer).setRegionName(params.getRegionName());
          }
  
          return signer;
      }
docs: Create an instance of the given signer type and initialize it with the
  given parameters.
  
  @param signerType The signer type.
  @param params The parameters to intialize the signer with.
  
  @return The new signer instance.