public <T extends AmazonWebServiceRequest> T withGeneralProgressListener(ProgressListener progressListener) {
        setGeneralProgressListener(progressListener);
        @SuppressWarnings("unchecked")
        T t = (T) this;
        return t;
    }
Sets the optional progress listener for receiving updates about the progress of the request,
and returns a reference to this object so that method calls can be chained together.

@param progressListener
           The new progress listener.
@return A reference to this updated object so that method calls can be chained together.
aws-java-sdk-core/src/main/java/com/amazonaws/AmazonWebServiceRequest.java