class Emailer {

    public static List<Emailer> fromAddressList(AddressList list) {
        return Optional.ofNullable(list)
            .map(addresses -> addresses.flatten()
                .stream()
                .map(Emailer::fromMailbox)
                .collect(Guavate.toImmutableList()))
            .orElse(ImmutableList.of());
    }

    @VisibleForTesting  Emailer(Optional<String> name, Optional<String> email);

}