code: public <T extends AbstractPutObjectRequest> T withInputStream(
              InputStream inputStream) {
          setInputStream(inputStream);
          @SuppressWarnings("unchecked") T t = (T)this;
          return t;
      }
docs: Sets the input stream containing the data to be uploaded to Amazon S3.
  Returns this {@link AbstractPutObjectRequest}, enabling additional method
  calls to be chained together.
  <p>
  Either specify a file or an input stream containing the data to be
  uploaded to Amazon S3; both cannot be specified.
  </p>
  
  @param inputStream
  The InputStream containing the data to be uploaded to Amazon
  S3.
  
  @return This PutObjectRequest, so that additional method calls can be
  chained together.
  
  @see AbstractPutObjectRequest#getInputStream()
  @see AbstractPutObjectRequest#setInputStream(InputStream)
  @see AbstractPutObjectRequest#getFile()
  @see AbstractPutObjectRequest#setFile(File)