public UploadObjectObserver init(UploadObjectRequest req,
                                     S3DirectSpi s3direct, AmazonS3 s3, ExecutorService es) {
        this.req = req;
        this.s3direct = s3direct;
        this.s3 = s3;
        this.es = es;
        return this;
    }
Used to initialized this observer. This method is an SPI (service
provider interface) that is called from
<code>AmazonS3EncryptionClient</code>.
<p>
Implementation of this method should never block.

@param req
           the upload object request
@param s3direct
           used to perform non-encrypting s3 operation via the current
           instance of s3 (encryption) client
@param s3
           the current instance of s3 (encryption) client
@param es
           the executor service to be used for concurrent uploads
@return this object
aws-java-sdk-s3/src/main/java/com/amazonaws/services/s3/UploadObjectObserver.java