public <T extends S3ClientBuilder> void applySignerConfiguration(T builder) {
    if (isRemoteSigningEnabled) {
      ClientOverrideConfiguration.Builder configBuilder =
          null != builder.overrideConfiguration()
              ? builder.overrideConfiguration().toBuilder()
              : ClientOverrideConfiguration.builder();
      builder.overrideConfiguration(
          configBuilder
              .putAdvancedOption(
                  SdkAdvancedClientOption.SIGNER, S3V4RestSignerClient.create(allProperties))
              .build());
    }
  }
@Test
  public void testApplySignerConfiguration() {
    Map<String, String> properties =
        ImmutableMap.of(
            S3FileIOProperties.REMOTE_SIGNING_ENABLED,
            "true",
            CatalogProperties.URI,
            "http://localhost:12345");
    S3FileIOProperties s3FileIOProperties = new S3FileIOProperties(properties);
    S3ClientBuilder mockS3ClientBuilder = Mockito.mock(S3ClientBuilder.class);
    s3FileIOProperties.applySignerConfiguration(mockS3ClientBuilder);

    Mockito.verify(mockS3ClientBuilder)
        .overrideConfiguration(Mockito.any(ClientOverrideConfiguration.class));
  }