@Override
    public AWSSessionCredentials getCredentials() {
        if (needsNewSession()) startSession();

        return sessionCredentials;
    }
Constructs a new WebIdentityFederationSessionCredentialsProvider, which will use the
specified 3rd-party web identity provider to make a request to the AWS
Security Token Service (STS) using the provided client to request short 
lived session credentials, which will then be returned by this class's 
{@link #getCredentials()} method.

@param wifToken 
           The OAuth/OpenID token from the the Identity Provider
@param wifProvider
           The name of the Identity Provider (null for OpenID providers)
@param roleArn 
           The ARN of the IAM Role that will be assumed
@param stsClient
           Preconfigured STS client to make requests with
aws-java-sdk-sts/src/main/java/com/amazonaws/auth/WebIdentityFederationSessionCredentialsProvider.java