code: public ExternalStorageLocation getExternalStorageLocation(String path, String operation, String type) {
          try {
              ExternalPayloadStorage.Operation payloadOperation = ExternalPayloadStorage.Operation.valueOf(StringUtils.upperCase(operation));
              ExternalPayloadStorage.PayloadType payloadType = ExternalPayloadStorage.PayloadType.valueOf(StringUtils.upperCase(type));
              return executionService.getExternalStorageLocation(payloadOperation, payloadType, path);
          } catch (Exception e) {
              // FIXME: for backwards compatibility
              LOGGER.error("Invalid input - Operation: {}, PayloadType: {}, defaulting to WRITE/TASK_OUTPUT", operation, type);
              return executionService.getExternalStorageLocation(ExternalPayloadStorage.Operation.WRITE, ExternalPayloadStorage.PayloadType.TASK_OUTPUT, path);
          }
      }
docs: Get the external storage location where the task output payload is stored/to be stored
  
  @param path      the path for which the external storage location is to be populated
  @param operation the operation to be performed (read or write)
  @param type      the type of payload (input or output)
  @return {@link ExternalStorageLocation} containing the uri and the path to the payload is stored in external storage