* @param regionName The name of the region to talk to.
*/
public static Signer getSigner(String serviceName, String regionName) {
InternalConfig config = InternalConfig.Factory.getInternalConfig();
SignerConfig signerConfig = config.getSignerConfig(serviceName, regionName);
String signerType = signerConfig.getSignerType();
Class<? extends Signer> signerClass = SIGNERS.get(signerType);
if (signerClass == null) {
throw new IllegalStateException(
"No signer implementation registered for signer type "