There is no need to maintain checkForErrors in both blocking and the asynchronous implementation, the asynchronous version is using the blocking version's checkForErrors from now on.
The asynchronous version is still not capable of handling redirect or retry but the AWSClient was prepared to be able to use it in the future and be compatible till then with the new checkForErrors