private RefreshableTask<SessionCredentialsHolder> createRefreshableTask() {
        return new RefreshableTask.Builder<SessionCredentialsHolder>()
                .withRefreshCallable(refreshCallable)
                .withBlockingRefreshPredicate(new ShouldDoBlockingSessionRefresh())
                .withAsyncRefreshPredicate(new ShouldDoAsyncSessionRefresh()).build();
    }
Constructs a new STSSessionCredentialsProvider, which will use the specified credentials
provider (which vends long lived AWS credentials) to make a request to the AWS Security Token
Service (STS) to request short lived session credentials, which will then be returned by this
class's {@link #getCredentials()} method.

@param longLivedCredentialsProvider Credentials provider for the main AWS credentials for a
                                    user's account.
@param clientConfiguration          Client configuration connection parameters.
aws-java-sdk-sts/src/main/java/com/amazonaws/auth/STSSessionCredentialsProvider.java