docs: @Programmatic
      public EmailAddress findByEmailAddress(
              final CommunicationChannelOwner owner, 
              final String emailAddress) {
  
          final List<CommunicationChannelOwnerLink> links =
                  communicationChannelOwnerLinkRepository.findByOwnerAndCommunicationChannelType(owner, CommunicationChannelType.EMAIL_ADDRESS);
          final Iterable<EmailAddress> emailAddresses =
                  Iterables.transform(
                          links,
                          CommunicationChannelOwnerLink.Functions.communicationChannel(EmailAddress.class));
          final Optional<EmailAddress> emailAddressIfFound =
                  Iterables.tryFind(emailAddresses, EmailAddress.Predicates.equalTo(emailAddress));
          return emailAddressIfFound.orNull();
      }