class MailboxNamespace {

    public static MailboxNamespace delegated(Username owner) {
        Preconditions.checkArgument(owner != null);

        return new MailboxNamespace(Type.Delegated, Optional.of(owner));
    }

    private  MailboxNamespace(Type type, Optional<Username> owner);

}