@Override
  public void initialize(ExtensionContext context) {
    Monitor monitor = context.getMonitor();
    monitor.debug(() -> "Starting Twitter initialization");
    if (initialized) {
      monitor.severe(() -> "TwitterTransferExtension already initialized.");
      return;
    }

    AppCredentials appCredentials;
    try {
      appCredentials =
          context
              .getService(AppCredentialStore.class)
              .getAppCredentials(TWITTER_KEY, TWITTER_SECRET);
    } catch (IOException e) {
      monitor.info(
          () ->
              format(
                  "Unable to retrieve Twitter AppCredentials. Did you set %s and %s?",
                  TWITTER_KEY, TWITTER_SECRET),
          e);
      return;
    }

    exporter = new TwitterPhotosExporter(appCredentials, monitor);
    importer = new TwitterPhotosImporter(appCredentials, monitor);
    initialized = true;
  }
Extension to allow Twitter content to be transferred.

<p>Currently only photos content to be exported/imported.

<p>In the future if a social vertical gets defined support should be added for that.
extensions/data-transfer/portability-data-transfer-twitter/src/main/java/org/datatransferproject/transfer/twitter/TwitterTransferExtension.java