@SuppressWarnings("unchecked")
    protected Map<String, Object> downloadFromExternalStorage(
            ExternalPayloadStorage.PayloadType payloadType, String path) {
        Validate.notBlank(path, "uri cannot be blank");
        ExternalStorageLocation externalStorageLocation =
                payloadStorage.getLocation(
                        ExternalPayloadStorage.Operation.READ, payloadType, path);
        try (InputStream inputStream = payloadStorage.download(externalStorageLocation.getUri())) {
            return objectMapper.readValue(inputStream, Map.class);
        } catch (IOException e) {
            String errorMsg =
                    String.format(
                            "Unable to download payload from external storage location: %s", path);
            LOGGER.error(errorMsg, e);
            throw new ConductorClientException(errorMsg, e);
        }
    }
Uses the {@link PayloadStorage} for downloading large payloads to be used by the client. Gets
the uri of the payload fom the server and then downloads from this location.

@param payloadType the {@link
    com.netflix.conductor.common.utils.ExternalPayloadStorage.PayloadType} to be downloaded
@param path the relative of the payload in external storage
@return the payload object that is stored in external storage
client/src/main/java/com/netflix/conductor/client/http/ClientBase.java