CrumbPresentation[] (PsiElement @NotNull [] elements) { if (elements.length == 0 || !isMyContext(elements[elements.length - 1])) { return null; } if (!XmlTagTreeHighlightingUtil.containsTagsWithSameName(elements)) { return null; } final CrumbPresentation[] result = new CrumbPresentation[elements.length]; final Color[] baseColors = XmlTagTreeHighlightingUtil.getBaseColors(); int index = 0; for (int i = result.length - 1; i >= 0; i--) { if (elements[i] instanceof XmlTag) { final Color color = baseColors[index % baseColors.length]; result[i] = new MyCrumbPresentation(color); index++; } } return result; }