private ASN1Sequence getOtherNameTypeSAN(final List<?> sanItem) {
        if (sanItem.size() < 2) {
            LOGGER.error("Subject Alternative Name List does not contain at least two required elements");
            return null;
        }
        val itemType = (Integer) sanItem.getFirst();
        if (itemType == SAN_TYPE_OTHER) {
            val altName = (byte[]) sanItem.get(1);
            return getAltnameSequence(altName);
        }
        return null;
    }
Get the alt name sequence if it is of type OtherName, otherwise return null.

@param sanItem subject alternative name value encoded as a two elements List with elem(0) representing object id and elem(1)
               representing object (subject alternative name) itself.
@return ASN1Sequence abstraction representing subject alternative name or null if the passed in
List doesn't contain at least two elements and the type of the element is not the type OtherName.
as expected to be returned by implementation of {@code X509Certificate.html#getSubjectAlternativeNames}
@see <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/security/cert/X509Certificate.html#getSubjectAlternativeNames()">
X509Certificate#getSubjectAlternativeNames</a>
support/cas-server-support-x509-core/src/main/java/org/apereo/cas/adaptors/x509/authentication/principal/X509UPNExtractorUtils.java