class DefaultMailboxesProvisioner {

    Mono<Void> createMailboxesIfNeeded(MailboxSession session) {
        return metricFactory.decorateSupplierWithTimerMetric("JMAP-mailboxes-provisioning",
            () -> {
                Username username = session.getUser();
                return createDefaultMailboxes(username);
            });
    }

    @Inject @VisibleForTesting  DefaultMailboxesProvisioner(MailboxManager mailboxManager,
                                SubscriptionManager subscriptionManager,
                                MetricFactory metricFactory);

}