code: public <T extends AmazonWebServiceRequest> T withGeneralProgressListener(ProgressListener progressListener) {
          setGeneralProgressListener(progressListener);
          @SuppressWarnings("unchecked")
          T t = (T) this;
          return t;
      }
docs: 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.