@Override
  protected void execute(OperationContext operationContext, ResultHandler resultHandler, Site site)
      throws ResourceNotFoundException, OperationException {
    BindingProvider bindingProvider = operationContext.getBindingProvider();
    DataStorage dataStorage =
        operationContext.getRuntimeContext().getRuntimeComponent(DataStorage.class);

    SiteKey siteKey = getSiteKey(site);

    resultHandler.completed(
        new ExportResourceModel(
            new SiteLayoutExportTask(
                siteKey,
                dataStorage,
                bindingProvider.getMarshaller(PortalConfig.class, ContentType.XML))));
  }