static ContentType interleave(ContentType t1, ContentType t2) {
    if (t1.isA(ZERO_OR_MORE_ELEMENT_CLASS) && t2.isA(ZERO_OR_MORE_ELEMENT_CLASS))
      return INTERLEAVE_ZERO_OR_MORE_ELEMENT_CLASS;
    if (((t1.isA(MIXED_MODEL) || t1 == TEXT) && t2.isA(ZERO_OR_MORE_ELEMENT_CLASS))
        || t1.isA(ZERO_OR_MORE_ELEMENT_CLASS) && (t2.isA(MIXED_MODEL) || t2 == TEXT))
      return INTERLEAVE_MIXED_MODEL;
    return groupOrInterleave(t1, t2);
  }