class XACMLExportImport {

    public List<ImportStep> importXacml(String realm, InputStream xacml, Subject admin, boolean dryRun)
            throws EntitlementException {
        PrivilegeSet privilegeSet = xacmlToPrivilegeSet(xacml);
        List<PersistableImportStep> importSteps = generateImportSteps(realm, privilegeSet, admin);
        applyIfRequired(dryRun, importSteps);

        return new ArrayList<ImportStep>(importSteps);
    }

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

}