code: @Override
      public InputStream download(String path) {
          try {
              S3Object s3Object = s3Client.getObject(new GetObjectRequest(bucketName, path));
              return s3Object.getObjectContent();
          } catch (SdkClientException e) {
              String msg = "Error communicating with S3";
              logger.error(msg, e);
              throw new ApplicationException(ApplicationException.Code.BACKEND_ERROR, msg, e);
          }
      }
docs: Downloads the payload stored in the s3 object.
  
  @param path the S3 key of the object
  @return an input stream containing the contents of the object
  Caller is expected to close the input stream.