public Exporter getCompatibleExporter(TransferExtension extension, DataVertical jobType) {
    Exporter<?, ?> exporter = getExporterOrNull(extension, jobType);
    if (exporter != null) {
      return exporter;
    }

    switch (jobType) {
      case MEDIA:
        exporter = getMediaExporter(extension);
        break;
      case PHOTOS:
        exporter = getPhotosExporter(extension);
        break;
      case VIDEOS:
        exporter = getVideosExporter(extension);
        break;
    }
    if (exporter == null) {
      return extension.getExporter(jobType); // re-execute just for the potential exception
    }
    return exporter;
  }
Provides a compatibility layer between adapter types. E.g. when asking for a Media adapter and it
isn't available, it will combine Photo and Video adapters on the fly to seamlessly support the
request.
portability-spi-transfer/src/main/java/org/datatransferproject/spi/transfer/provider/TransferCompatibilityProvider.java