code: @Override
      public UploadPartResult uploadPartSecurely(UploadPartRequest req)
          throws SdkClientException, AmazonServiceException {
          return defaultCryptoMode == EncryptionOnly
               ? eo.uploadPartSecurely(req)
               : ae.uploadPartSecurely(req)
               ;
      }
docs: {@inheritDoc}
  
  <p>
  <b>NOTE:</b> Because the encryption process requires context from block
  N-1 in order to encrypt block N, parts uploaded with the
  AmazonS3EncryptionClient (as opposed to the normal AmazonS3Client) must
  be uploaded serially, and in order. Otherwise, the previous encryption
  context isn't available to use when encrypting the current part.