class AccessControlManagerFacade implements AccessControlManager {

    public static @Nullable AccessControlManager
    findBestWrapper(final @Nullable AccessControlManager manager) {
        if (manager instanceof JackrabbitAccessControlManager) {
            return new JackrabbitAccessControlManagerFacade((JackrabbitAccessControlManager) manager);
        } else if (manager != null) {
            return new AccessControlManagerFacade<>(manager);
        } else {
            return null;
        }
    }

    @SuppressWarnings("WeakerAccess") public  AccessControlManagerFacade(final @NotNull M delegate);

}