private TermType getCommonDenominator(LanguageTag otherLanguageTag) {
        return langTag.getCommonDenominator(otherLanguageTag)
                .map(newLangTag -> newLangTag.equals(langTag)
                        ? (TermType) this
                        : new LangDatatype(newLangTag, parentAncestry, typeFactory))
                // Incompatible lang tags --> common denominator is xsd:string
                .orElseGet(typeFactory::getXsdStringDatatype);
    }
private TermType getCommonDenominator ( LanguageTag otherLanguageTag ) { return langTag . getCommonDenominator ( otherLanguageTag ) . map ( newLangTag -> newLangTag . equals ( langTag ) ? ( TermType ) this : new LangDatatype ( newLangTag , parentAncestry , typeFactory ) ) . orElseGet ( typeFactory :: getXsdStringDatatype ) ; }
Common denominator between two lang strings