class XACMLExportImport {

    public List<ImportStep> importXacml(String realm, InputStream xacml, Subject admin, boolean dryRun)
            throws EntitlementException {

        PrivilegeSet privilegeSet = xacmlReaderWriter.read(xacml);
        List<ImportStep> importSteps = generateImportSteps(realm, privilegeSet, admin);

        if (!dryRun) {
            message("Import: Policies to Import {0}", importSteps.size());
            for (ImportStep importStep : importSteps) {
                ((ImportStepImpl) importStep).apply();
            }
            message("Import: Complete");
        }

        return importSteps;
    }

    @Inject public  XACMLExportImport(PrivilegeManagerFactory privilegeManagerFactory,
                             XACMLReaderWriter xacmlReaderWriter,
                             PrivilegeValidator privilegeValidator,
                             SearchFilterFactory searchFilterFactory,
                             @Named(XACMLConstants.DEBUG) Debug debug);

}