code: protected String getRFC822EmailAddress(final Collection<List<?>> subjectAltNames) {
          if (subjectAltNames == null) {
              return null;
          }
          Optional<List<?>> email = subjectAltNames
              .stream()
              .filter(s -> s.size() == 2 && (Integer) s.get(0) == SAN_RFC822_EMAIL_TYPE)
              .findFirst();
          return email.map(objects -> (String) objects.get(1)).orElse(null);
      }
docs: Get Email Address.
  
  @param subjectAltNames list of subject alternative name values encoded as collection of Lists with two elements in each List containing type and value.
  @return String email address or null if the item passed in is not type 1 (rfc822Name)
  as expected to be returned by implementation of {@code X509Certificate.html#getSubjectAlternativeNames}
  @see <a href="http://docs.oracle.com/javase/7/docs/api/java/security/cert/X509Certificate.html#getSubjectAlternativeNames()">
  X509Certificate#getSubjectAlternativeNames</a>